@meterio/sumer-js 0.1.30 → 0.1.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/dist/browser/sumer.min.js +10 -10
  2. package/dist/nodejs/abi.d.ts +110 -12
  3. package/dist/nodejs/abi.js +6227 -4641
  4. package/dist/nodejs/abi.js.map +1 -1
  5. package/dist/nodejs/comptroller.d.ts +1 -1
  6. package/dist/nodejs/comptroller.js +17 -22
  7. package/dist/nodejs/comptroller.js.map +1 -1
  8. package/dist/nodejs/errors.d.ts +100 -0
  9. package/dist/nodejs/errors.js +100 -0
  10. package/dist/nodejs/errors.js.map +1 -1
  11. package/dist/nodejs/index.d.ts +210 -12
  12. package/dist/nodejs/typechain/contracts/Comptroller/Comptroller.d.ts +21 -175
  13. package/dist/nodejs/typechain/contracts/Comptroller/RedemptionManager.d.ts +123 -84
  14. package/dist/nodejs/typechain/contracts/Interfaces/IComptroller.d.ts +13 -84
  15. package/dist/nodejs/typechain/contracts/Interfaces/IRedemptionManager.d.ts +49 -51
  16. package/dist/nodejs/typechain/contracts/Interfaces/ITimelock.d.ts +46 -49
  17. package/dist/nodejs/typechain/contracts/Library/RateLimiter.d.ts +66 -0
  18. package/dist/nodejs/typechain/contracts/Library/RateLimiter.js +3 -0
  19. package/dist/nodejs/typechain/contracts/Library/RateLimiter.js.map +1 -0
  20. package/dist/nodejs/typechain/contracts/Library/index.d.ts +1 -0
  21. package/dist/nodejs/typechain/contracts/Library/index.js +3 -0
  22. package/dist/nodejs/typechain/contracts/Library/index.js.map +1 -0
  23. package/dist/nodejs/typechain/contracts/Oracle/FeedPriceOracle.d.ts +1 -9
  24. package/dist/nodejs/typechain/contracts/Oracle/FeedPriceOracleSafe.d.ts +1 -9
  25. package/dist/nodejs/typechain/contracts/Timelock.d.ts +515 -0
  26. package/dist/nodejs/typechain/contracts/Timelock.js +3 -0
  27. package/dist/nodejs/typechain/contracts/Timelock.js.map +1 -0
  28. package/dist/nodejs/typechain/contracts/index.d.ts +3 -2
  29. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.d.ts +1 -1
  30. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.js +1 -1
  31. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.d.ts +1 -1
  32. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.js +1 -1
  33. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy__factory.d.ts +1 -1
  34. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy__factory.js +1 -1
  35. package/dist/nodejs/typechain/factories/contracts/CToken/CErc20__factory.d.ts +65 -1
  36. package/dist/nodejs/typechain/factories/contracts/CToken/CErc20__factory.js +81 -1
  37. package/dist/nodejs/typechain/factories/contracts/CToken/CErc20__factory.js.map +1 -1
  38. package/dist/nodejs/typechain/factories/contracts/CToken/CEther__factory.d.ts +65 -1
  39. package/dist/nodejs/typechain/factories/contracts/CToken/CEther__factory.js +81 -1
  40. package/dist/nodejs/typechain/factories/contracts/CToken/CEther__factory.js.map +1 -1
  41. package/dist/nodejs/typechain/factories/contracts/CToken/CToken__factory.d.ts +64 -0
  42. package/dist/nodejs/typechain/factories/contracts/CToken/CToken__factory.js +80 -0
  43. package/dist/nodejs/typechain/factories/contracts/CToken/CToken__factory.js.map +1 -1
  44. package/dist/nodejs/typechain/factories/contracts/CToken/SuErc20__factory.d.ts +65 -1
  45. package/dist/nodejs/typechain/factories/contracts/CToken/SuErc20__factory.js +81 -1
  46. package/dist/nodejs/typechain/factories/contracts/CToken/SuErc20__factory.js.map +1 -1
  47. package/dist/nodejs/typechain/factories/contracts/Comptroller/AccountLiquidity__factory.d.ts +313 -1
  48. package/dist/nodejs/typechain/factories/contracts/Comptroller/AccountLiquidity__factory.js +392 -1
  49. package/dist/nodejs/typechain/factories/contracts/Comptroller/AccountLiquidity__factory.js.map +1 -1
  50. package/dist/nodejs/typechain/factories/contracts/Comptroller/CompLogic__factory.d.ts +1 -1
  51. package/dist/nodejs/typechain/factories/contracts/Comptroller/CompLogic__factory.js +1 -1
  52. package/dist/nodejs/typechain/factories/contracts/Comptroller/CompoundLens__factory.d.ts +65 -1
  53. package/dist/nodejs/typechain/factories/contracts/Comptroller/CompoundLens__factory.js +81 -1
  54. package/dist/nodejs/typechain/factories/contracts/Comptroller/CompoundLens__factory.js.map +1 -1
  55. package/dist/nodejs/typechain/factories/contracts/Comptroller/ComptrollerStorage__factory.d.ts +1 -1
  56. package/dist/nodejs/typechain/factories/contracts/Comptroller/ComptrollerStorage__factory.js +1 -1
  57. package/dist/nodejs/typechain/factories/contracts/Comptroller/Comptroller__factory.d.ts +93 -272
  58. package/dist/nodejs/typechain/factories/contracts/Comptroller/Comptroller__factory.js +117 -348
  59. package/dist/nodejs/typechain/factories/contracts/Comptroller/Comptroller__factory.js.map +1 -1
  60. package/dist/nodejs/typechain/factories/contracts/Comptroller/RedemptionManager__factory.d.ts +483 -87
  61. package/dist/nodejs/typechain/factories/contracts/Comptroller/RedemptionManager__factory.js +600 -102
  62. package/dist/nodejs/typechain/factories/contracts/Comptroller/RedemptionManager__factory.js.map +1 -1
  63. package/dist/nodejs/typechain/factories/contracts/Comptroller/SortedBorrows__factory.d.ts +1 -1
  64. package/dist/nodejs/typechain/factories/contracts/Comptroller/SortedBorrows__factory.js +1 -1
  65. package/dist/nodejs/typechain/factories/contracts/Interfaces/IComptroller__factory.d.ts +19 -91
  66. package/dist/nodejs/typechain/factories/contracts/Interfaces/IComptroller__factory.js +24 -114
  67. package/dist/nodejs/typechain/factories/contracts/Interfaces/IComptroller__factory.js.map +1 -1
  68. package/dist/nodejs/typechain/factories/contracts/Interfaces/IRedemptionManager__factory.d.ts +62 -56
  69. package/dist/nodejs/typechain/factories/contracts/Interfaces/IRedemptionManager__factory.js +68 -63
  70. package/dist/nodejs/typechain/factories/contracts/Interfaces/IRedemptionManager__factory.js.map +1 -1
  71. package/dist/nodejs/typechain/factories/contracts/Interfaces/ITimelock__factory.d.ts +34 -47
  72. package/dist/nodejs/typechain/factories/contracts/Interfaces/ITimelock__factory.js +37 -54
  73. package/dist/nodejs/typechain/factories/contracts/Interfaces/ITimelock__factory.js.map +1 -1
  74. package/dist/nodejs/typechain/factories/contracts/Library/RateLimiter__factory.d.ts +165 -0
  75. package/dist/nodejs/typechain/factories/contracts/Library/RateLimiter__factory.js +228 -0
  76. package/dist/nodejs/typechain/factories/contracts/Library/RateLimiter__factory.js.map +1 -0
  77. package/dist/nodejs/typechain/factories/contracts/Library/index.d.ts +1 -0
  78. package/dist/nodejs/typechain/factories/contracts/Library/index.js +9 -0
  79. package/dist/nodejs/typechain/factories/contracts/Library/index.js.map +1 -0
  80. package/dist/nodejs/typechain/factories/contracts/Oracle/FeedPriceOracleSafe__factory.d.ts +1 -15
  81. package/dist/nodejs/typechain/factories/contracts/Oracle/FeedPriceOracleSafe__factory.js +1 -20
  82. package/dist/nodejs/typechain/factories/contracts/Oracle/FeedPriceOracleSafe__factory.js.map +1 -1
  83. package/dist/nodejs/typechain/factories/contracts/Oracle/FeedPriceOracle__factory.d.ts +1 -15
  84. package/dist/nodejs/typechain/factories/contracts/Oracle/FeedPriceOracle__factory.js +1 -20
  85. package/dist/nodejs/typechain/factories/contracts/Oracle/FeedPriceOracle__factory.js.map +1 -1
  86. package/dist/nodejs/typechain/factories/contracts/SumerErrors__factory.d.ts +65 -1
  87. package/dist/nodejs/typechain/factories/contracts/SumerErrors__factory.js +81 -1
  88. package/dist/nodejs/typechain/factories/contracts/SumerErrors__factory.js.map +1 -1
  89. package/dist/nodejs/typechain/factories/contracts/Timelock.sol/Timelock__factory.d.ts +1 -1
  90. package/dist/nodejs/typechain/factories/contracts/Timelock.sol/Timelock__factory.js +1 -1
  91. package/dist/nodejs/typechain/factories/contracts/Timelock.sol/Timelock__factory.js.map +1 -1
  92. package/dist/nodejs/typechain/factories/contracts/Timelock__factory.d.ts +989 -0
  93. package/dist/nodejs/typechain/factories/contracts/Timelock__factory.js +1277 -0
  94. package/dist/nodejs/typechain/factories/contracts/Timelock__factory.js.map +1 -0
  95. package/dist/nodejs/typechain/factories/contracts/index.d.ts +2 -1
  96. package/dist/nodejs/typechain/factories/contracts/index.js +4 -2
  97. package/dist/nodejs/typechain/factories/contracts/index.js.map +1 -1
  98. package/dist/nodejs/typechain/factories/contracts/proxy/SumerProxyAdmin__factory.d.ts +1 -1
  99. package/dist/nodejs/typechain/factories/contracts/proxy/SumerProxyAdmin__factory.js +1 -1
  100. package/dist/nodejs/typechain/factories/contracts/proxy/SumerProxy__factory.d.ts +1 -1
  101. package/dist/nodejs/typechain/factories/contracts/proxy/SumerProxy__factory.js +1 -1
  102. package/dist/nodejs/typechain/factories/contracts/stake/CommunalFarm__factory.d.ts +1 -1
  103. package/dist/nodejs/typechain/factories/contracts/stake/CommunalFarm__factory.js +1 -1
  104. package/dist/nodejs/typechain/factories/contracts/stake/FraxGaugeFXSRewardsDistributor__factory.d.ts +1 -1
  105. package/dist/nodejs/typechain/factories/contracts/stake/FraxGaugeFXSRewardsDistributor__factory.js +1 -1
  106. package/dist/nodejs/typechain/factories/contracts/stake/StakingRewardsMultiGauge__factory.d.ts +1 -1
  107. package/dist/nodejs/typechain/factories/contracts/stake/StakingRewardsMultiGauge__factory.js +1 -1
  108. package/dist/nodejs/typechain/factories/contracts/stake/VeSumer.sol/VeSumer__factory.d.ts +1 -1
  109. package/dist/nodejs/typechain/factories/contracts/stake/VeSumer.sol/VeSumer__factory.js +1 -1
  110. package/dist/nodejs/typechain/factories/contracts/stake/VeSumer.sol/VeSumer__factory.js.map +1 -1
  111. package/dist/nodejs/typechain/hardhat.d.ts +18 -18
  112. package/dist/nodejs/typechain/index.d.ts +4 -2
  113. package/dist/nodejs/typechain/index.js +5 -3
  114. package/dist/nodejs/typechain/index.js.map +1 -1
  115. package/package.json +1 -1
@@ -14,8 +14,320 @@ export declare class AccountLiquidity__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): AccountLiquidity__factory;
17
- static readonly bytecode = "0x6080806040523461001657612be2908161001c8239f35b600080fdfe61012060408181526004908136101561001757600080fd5b600092833560e01c90816301ffc9a7146107ab57508063248a9ca3146107805780632f2ff15d146106c657806336568abe146106345780634e79238f146106085780635fe3b567146105df5780638bad38dd1461039f5780639010d07c1461035e57806391d1485414610317578063a217fddf146102fc578063a9e40a42146102d2578063c4d66de814610127578063ca15c873146100ff5763d547741f146100bf57600080fd5b346100fb57806003193601126100fb576100f891356100f360016100e1610819565b9383875260656020528620015461086d565b610af2565b80f35b8280fd5b5090346100fb5760203660031901126100fb5760209282913581526097845220549051908152f35b5090346100fb57602090816003193601126102ce5780356001600160a01b038116908190036102ca57845460ff8160081c1615928380946102bd575b80156102a6575b1561024c575060ff1980821660011787556101b392918461023b575b5086805260658552858720828852855260ff8688205416156101f3575b5085805260978452848620610d28565b506101bc578280f35b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a138808280f35b8680526065855285872082885285526001868820918254161790553381877f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4386101a3565b61ffff191661010117875538610186565b855162461bcd60e51b8152908101859052602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561016a5750600160ff83161461016a565b50600160ff831610610163565b8480fd5b8380fd5b8382346102f8576020906102f16102e836610834565b92919091610ebc565b9051908152f35b5080fd5b8382346102f857816003193601126102f85751908152602090f35b5090346100fb57816003193601126100fb578160209360ff92610338610819565b90358252606586528282206001600160a01b039091168252855220549151911615158152f35b5090346100fb57816003193601126100fb576020926103899135815260978452826024359120610d10565b905491519160018060a01b039160031b1c168152f35b5090346100fb57602090816003193601126102ce5780356001600160a01b03811693908490036102ca5784805260658352808520338652835260ff818620541615610402575050506bffffffffffffffffffffffff60a01b60c954161760c95580f35b8461040c33610c02565b908083519061041a82610ab6565b604282528682019260603685378251156105cc57603084538251906001918210156105b95790607860218501536041915b81831161054e5750505061050d57836104dd604888956104ff956104ce9560449a99519687936104a58b86019b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8d528251928391603789019101610a2a565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190610a2a565b01036028810185520183610ad1565b5195869462461bcd60e51b865285015251809281602486015285850190610a2a565b601f01601f19168101030190fd5b606485878087519262461bcd60e51b845283015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f811660108110156105a6576f181899199a1a9b1b9c1cb0b131b232b360811b901a61057e8587610bdb565b53881c9280156105935760001901919061044b565b634e487b7160e01b825260118952602482fd5b634e487b7160e01b835260328a52602483fd5b634e487b7160e01b815260328852602490fd5b634e487b7160e01b815260328752602490fd5b8382346102f857816003193601126102f85760c95490516001600160a01b039091168152602090f35b508234610631575061062561061c36610834565b92919091611dbd565b82519182526020820152f35b80fd5b509190346102f857826003193601126102f85761064f610819565b90336001600160a01b0383160361066b57906100f89135610af2565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b50346100fb57806003193601126100fb5761073391359060976106e7610819565b92808652602090606582526107016001858920015461086d565b808752606582528387206001600160a01b039095168088529482528387205460ff1615610737575b8652528320610d28565b5080f35b808752606582528387208588528252838720805460ff191660011790553385827f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8a80a4610729565b5090346100fb5760203660031901126100fb5781602093600192358152606585522001549051908152f35b849084346100fb5760203660031901126100fb573563ffffffff60e01b81168091036100fb5760209250635a05180f60e01b81149081156107ee575b5015158152f35b637965db0b60e01b811491508115610808575b50836107e7565b6301ffc9a760e01b14905083610801565b602435906001600160a01b038216820361082f57565b600080fd5b608090600319011261082f576001600160a01b0390600435828116810361082f5791602435908116810361082f57906044359060643590565b6000818152602060658152604092838320338452825260ff8484205416156108955750505050565b61089e33610c02565b908451906108ab82610ab6565b60428252838201946060368737825115610a165760308653825190600191821015610a165790607860218501536041915b8183116109a857505050610966578461094260486104ff9360449798519889916109338984019876020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a526104a5815180928d603789019101610a2a565b01036028810189520187610ad1565b5194859362461bcd60e51b8552600485015251809281602486015285850190610a2a565b60648386519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015610a02576f181899199a1a9b1b9c1cb0b131b232b360811b901a6109d88587610bdb565b5360041c9280156109ee576000190191906108dc565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b60005b838110610a3d5750506000910152565b8181015183820152602001610a2d565b602081019081106001600160401b03821117610a6857604052565b634e487b7160e01b600052604160045260246000fd5b61014081019081106001600160401b03821117610a6857604052565b61010081019081106001600160401b03821117610a6857604052565b608081019081106001600160401b03821117610a6857604052565b90601f801991011681019081106001600160401b03821117610a6857604052565b906040610b309260009080825260656020528282209360018060a01b03169384835260205260ff8383205416610b33575b8152609760205220610dbf565b50565b808252606560205282822084835260205282822060ff1981541690553384827ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b8580a4610b23565b906001600092151715610b8a57565b634e487b7160e01b600052601160045260246000fd5b81810292918115918404141715610b8a57565b91908201809211610b8a57565b6001600160401b038111610a6857601f01601f191660200190565b908151811015610bec570160200190565b634e487b7160e01b600052603260045260246000fd5b60405190606082018281106001600160401b03821117610a6857604052602a8252602082016040368237825115610bec57603090538151600190811015610bec57607860218401536029905b808211610ca2575050610c5e5790565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015610cfb576f181899199a1a9b1b9c1cb0b131b232b360811b901a610cd18486610bdb565b5360041c918015610ce6576000190190610c4e565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fd5b8054821015610bec5760005260206000200190600090565b91906001830160009082825280602052604082205415600014610dac5784549468010000000000000000861015610d985783610d88610d71886001604098999a01855584610d10565b819391549060031b91821b91600019901b19161790565b9055549382526020522055600190565b634e487b7160e01b83526041600452602483fd5b50925050565b91908203918211610b8a57565b90600182019060009281845282602052604084205490811515600014610ea85760001991808301818111610e9457825490848201918211610e8057808203610e4b575b50505080548015610e3757820191610e1a8383610d10565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b610e6b610e5b610d719386610d10565b90549060031b1c92839286610d10565b90558652846020526040862055388080610e02565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b5190811515820361082f57565b9192939061010052610ecc611ca6565b50610ed5611ca6565b5060018060a01b0360c9541660e05260405193631b042ea360e11b855260008560048160e0515afa94851561129357600095611ae2575b50845190610f28610f1c83611d34565b6040518060c052610ad1565b8160c05152601f19610f3983611d34565b0160005b818110611ac95750506000906000610f53611ca6565b94604051986307dc0d1d60e41b8a5260208a60048160e0515afa998a156112935760009a611a8d575b5060005b8681106119a757505060405195632aff3bff60e21b875260018060a01b038816600488015260008760248160e0515afa9687156112935760009761190c575b5060005b875181101561154c576001600160a01b03610fde828a611d7c565b51169060405191638e8f294b60e01b835280600484015260608360248160e0515afa92831561129357600093611518575b506040516361bfb47160e11b81526001600160a01b038c16600482015290608082602481845afa908115611293576000916000926000946000926114cc575b50611496578f9060206024926040519384809263fc57d4df60e01b825287600483015260018060a01b03165afa91821561129357600092611462575b50811561142f576040519161109e83610a4d565b825260405163313ce56760e01b81528290602081600481885afa8015611293576000906113f5575b60ff91501660128082106113c2575b505050604051906110e582610a4d565b8152604051632179928d60e11b8152602081600481875afa918215611293578391600093611388575b50611148611141670de0b6b3a76400009461113c6111519587956040519361113585610a4d565b8452612b4c565b612b4c565b9687612b85565b51049583612b85565b516101005191900493906001600160a01b031683146112de575b505060ff604051956368f58b3f60e11b875216600486015260208560248160e0515afa9485156112935760009561129f575b5093602060049560405196878092637f4e225760e11b82525afa801561129357600090611258575b61122695501561122b576112156040926111f760ff61121e94169560206111ee8860c051611d7c565b51015190610bb3565b60206112058760c051611d7c565b510152836111ee8660c051611d7c565b9260c051611d7c565b510152611d6d565b610fc3565b61121560809261124a60ff61121e94169560606111ee8860c051611d7c565b60606112058760c051611d7c565b506020853d60201161128b575b8161127260209383610ad1565b8101031261082f5761128661122695610eaf565b6111c5565b3d9150611265565b6040513d6000823e3d90fd5b94506020853d6020116112d6575b816112ba60209383610ad1565b8101031261082f5760206112cf600496611d4b565b955061119d565b3d91506112ad565b93670de0b6b3a764000061130761135894959396600060405161130081610a4d565b5251610b7b565b8060405161131481610a4d565b52049080821161136057611334670de0b6b3a76400009261134492610db2565b955b600060405161130081610a4d565b8060405161135181610a4d565b5204610bb3565b90388061116b565b61136e906113749392610db2565b90610bb3565b670de0b6b3a7640000611344600095611336565b925090506020823d6020116113ba575b816113a560209383610ad1565b8101031261082f57905190829061114861110e565b3d9150611398565b9091929350039060ff8211610b8a57604d60ff831611610b8a5760ff6113ec9216600a0a90612b85565b903880806110d5565b506020813d602011611427575b8161140f60209383610ad1565b8101031261082f5761142260ff91611d4b565b6110c6565b3d9150611402565b60405162461bcd60e51b815260206004820152600b60248201526a383934b1b29032b93937b960a91b6044820152606490fd5b9091506020813d60201161148e575b8161147e60209383610ad1565b8101031261082f5751903861108a565b3d9150611471565b60405162461bcd60e51b815260206004820152600e60248201526d39b730b839b437ba1032b93937b960911b6044820152606490fd5b9350505091506080813d608011611510575b816114eb60809383610ad1565b8101031261082f5780519160208201516060604084015193015193909293903861104e565b3d91506114de565b61153b91935060603d606011611545575b6115338183610ad1565b810190611d90565b509050913861100f565b503d611529565b509397929650939750935060405194638e8f294b60e01b865260018060a01b0361010051169081600488015260608760248160e0515afa968715611293576000976118e8575b50600095935b8960ff8816101561172d5760ff6115b381891660c051611d7c565b51511615611726576115ca60ff881660c051611d7c565b5190608082015180611703575b506040820151806116e0575b506080820151806116bd575b5060408201518061169a575b5060ff82511660ff8a1614600014611646575080608061162561162e93975b604084015190610bb3565b91015190610bb3565b955b60ff809116908114610b8a576001019593611598565b949890608061162561169461167861167f61162e96610100870151670de0b6b3a764000093849160208a015190612b85565b5104610bb3565b90611678610120870151606088015190612b85565b9b61161a565b6116b0606084019182519060e086015191612ac5565b60408501529052386115fb565b6116d3606084019182519060e086015191612ac5565b60808501529052386115ef565b6116f6602084019182519060a086015191612ac5565b60408501529052386115e3565b611719602084019182519060c086015191612ac5565b60808501529052386115d7565b9395611630565b9792965093975093508082918381116000146118d4575061174e9250610db2565b936000905b816118b6575b81611898575b6040519461176c86610a4d565b85526040519261177b84610a4d565b83528315158061182b575b6117b09450156118245760015b60e0820151670de0b6b3a764000080968192606086015190612b85565b510491156118075761167883602060c06117cf96015191015190612b85565b905b6117db8287610bb3565b11156117fd57826117f26117fa9661167894612b85565b510493612b85565b90565b5050505050600090565b61167883602060a061181e96015191015190612b85565b906117d1565b6000611793565b50602060049460405195868092637f4e225760e11b82525afa80156112935760009061185d575b6117b0945015611786565b506020843d602011611890575b8161187760209383610ad1565b8101031261082f5761188b6117b094610eaf565b611852565b3d915061186a565b6118af606082019283519061012084015191612ac5565b925261175f565b6118cd602082019283519061010084015191612ac5565b9252611759565b9150506118e091610db2565b600094611753565b61190291975060603d606011611545576115338183610ad1565b5090509538611592565b9096503d806000833e61191f8183610ad1565b81019060208183031261082f578051906001600160401b03821161082f57019080601f8301121561082f57815161195581611d34565b926119636040519485610ad1565b81845260208085019260051b82010192831161082f57602001905b82821061198f575050509538610fbf565b6020809161199c84611d59565b81520191019061197e565b806119b5611a889284611d7c565b5160ff81511690604081015190604051916119cf83610a4d565b82526060810151604051906119e382610a4d565b8152608082015190604051916119f883610a4d565b825260c060a08401519360405194611a0f86610a4d565b855201519360405194611a2186610a4d565b855260405195611a3087610a7e565b86526000602087015260006040870152600060608701526000608087015260a086015260c085015260e0840152610100830152610120820152611a758260c051611d7c565b52611a828160c051611d7c565b50611d6d565b610f80565b9099506020813d602011611ac1575b81611aa960209383610ad1565b8101031261082f57611aba90611d59565b9838610f7c565b3d9150611a9c565b602090611ad4611ca6565b828260c05101015201610f3d565b9094503d90816000823e611af68282610ad1565b602081838101031261082f578051916001600160401b03831161082f57808201601f84840101121561082f578282015190611b3082611d34565b93611b3e6040519586610ad1565b828552602085019082850160208560051b83880101011161082f57602081860101915b60208560051b83880101018310611b7f575050505050509338610f0c565b82516001600160401b03811161082f57610100878401820186890103601f19011261082f57604051611bb081610a9a565b611bc0602083868b010101611d4b565b8152604082858a01010151926001600160401b03841161082f57868901603f8585888d01010101121561082f57869160208585888d0101010151948a60408783888b611c0b84610bc0565b99611c1886519b8c610ad1565b848b5286019501010101011161082f576101008585611c4b6020998f6040611c94978d9c8f8e809e019401010101610a2a565b84870152888d010160608181015160408601526080808301519186019190915260a0808301519186019190915260c0808301519186019190915260e08201519085015201610eaf565b60e08201528152019301929050611b61565b604090815191611cb583610a7e565b6101208360009283825283602083015283818301528360608301528360808301528051611ce181610a4d565b84815260a08301528051611cf481610a4d565b84815260c08301528051611d0781610a4d565b84815260e08301528051611d1a81610a4d565b8481526101008301525192611d2e84610a4d565b83520152565b6001600160401b038111610a685760051b60200190565b519060ff8216820361082f57565b51906001600160a01b038216820361082f57565b6000198114610b8a5760010190565b8051821015610bec5760209160051b010190565b9081606091031261082f57611da481610eaf565b916117fa6040611db660208501611d4b565b9301610eaf565b939291906101005260a05260e052611dd3611ca6565b50611ddc611ca6565b5060018060a01b0360c9541660c05260405191631b042ea360e11b835260008360048160c0515afa928315611293576000936128fb575b508251611e2e611e2282611d34565b60405180608052610ad1565b8060805152601f19611e3f82611d34565b0160005b8181106128e2575050600090600091611e5a611ca6565b604051966307dc0d1d60e41b885260208860048160c0515afa978815611293576000986128a6575b5060005b8481106127c657505060405193632aff3bff60e21b855260018060a01b038616600486015260008560248160c0515afa94851561129357600095612710575b5060005b855181101561237c576001600160a01b03611ee48288611d7c565b51169060405191638e8f294b60e01b835280600484015260608360248160c0515afa92831561129357600093612358575b506040516361bfb47160e11b81526001600160a01b038a16600482015290608082602481845afa9081156112935760009160009260009460009261230c575b506114965760249060208f6040519384809263fc57d4df60e01b825287600483015260018060a01b03165afa918215611293576000926122d8575b50811561142f5760405191611fa383610a4d565b825260405163313ce56760e01b81528290602081600481885afa80156112935760009061229e575b60ff915016601280821061226b575b50505060405190611fea82610a4d565b8152604051632179928d60e11b8152602081600481875afa918215611293578391600093612231575b50611148611141670de0b6b3a76400009461113c61203a9587956040519361113585610a4d565b516101005191900493906001600160a01b031683146121bf575b505060ff604051956368f58b3f60e11b875216600486015260208560248160c0515afa94851561129357600095612180575b5093602060049560405196878092637f4e225760e11b82525afa801561129357600090612145575b6120fe955015612103576120f56040926120d760ff61121e94169560206111ee88608051611d7c565b60206120e587608051611d7c565b510152836111ee86608051611d7c565b92608051611d7c565b611ec9565b61213d60809261212160ff61121e94169560606111ee888851611d7c565b606061212e878751611d7c565b510152836111ee868251611d7c565b928251611d7c565b506020853d602011612178575b8161215f60209383610ad1565b8101031261082f576121736120fe95610eaf565b6120ae565b3d9150612152565b94506020853d6020116121b7575b8161219b60209383610ad1565b8101031261082f5760206121b0600496611d4b565b9550612086565b3d915061218e565b93670de0b6b3a76400006121dc6122079495939660a05190612b85565b51049080821161220f576121fc670de0b6b3a76400009261167892610db2565b955b60e05190612b85565b903880612054565b61136e9061221d9392610db2565b670de0b6b3a76400006116786000956121fe565b925090506020823d602011612263575b8161224e60209383610ad1565b8101031261082f579051908290611148612013565b3d9150612241565b9091929350039060ff8211610b8a57604d60ff831611610b8a5760ff6122959216600a0a90612b85565b90388080611fda565b506020813d6020116122d0575b816122b860209383610ad1565b8101031261082f576122cb60ff91611d4b565b611fcb565b3d91506122ab565b9091506020813d602011612304575b816122f460209383610ad1565b8101031261082f57519038611f8f565b3d91506122e7565b9350505091506080813d608011612350575b8161232b60809383610ad1565b8101031261082f57805191602082015160606040840151930151939092939038611f54565b3d915061231e565b61237291935060603d606011611545576115338183610ad1565b5090509138611f15565b50935093509390945060405192638e8f294b60e01b845260018060a01b036101005116600485015260608460248160c0515afa938415611293576000946126ec575b50916000925b8660ff851610156125335760ff6123df818616608051611d7c565b5151161561252c576123f660ff8516608051611d7c565b5190608082015180612509575b506040820151806124e6575b506080820151806124c3575b506040820151806124a0575b5060ff82511660ff87161460001461246857508060806116256124509394604084015190610bb3565b925b60ff809116908114610b8a5760010192906123c4565b919590608061162561249a61167861167f61245096610100870151670de0b6b3a764000093849160208a015190612b85565b9861161a565b6124b6606084019182519060e086015191612ac5565b6040850152905238612427565b6124d9606084019182519060e086015191612ac5565b608085015290523861241b565b6124fc602084019182519060a086015191612ac5565b604085015290523861240f565b61251f602084019182519060c086015191612ac5565b6080850152905238612403565b9092612452565b949250925093508082918381116000146126d757506125529250610db2565b6000915b826126b9575b8261269b575b6101005182906001600160a01b031615158061260f575b6125c393670de0b6b3a76400009261167892156126085760015b156125e957506125b1908361167860c0870151602088015190612b85565b925b606060e082015191015190612b85565b818111156125db57906125d591610db2565b90600090565b6125e491610db2565b600091565b61260291508361167860a0870151602088015190612b85565b926125b3565b6000612593565b50604051637f4e225760e11b815261010051602090829060049082906001600160a01b03165afa9081156112935760009161264c575b5015612579565b90506020813d602011612693575b8161266760209383610ad1565b8101031261082f576125c393670de0b6b3a76400009261268961167893610eaf565b9250925093612645565b3d915061265a565b6126b2606082019384519061012084015191612ac5565b9352612562565b6126d0602082019384519061010084015191612ac5565b935261255c565b9150506126e391610db2565b90600090612556565b61270691945060603d606011611545576115338183610ad1565b50905092386123be565b9094503d806000833e6127238183610ad1565b602082828101031261082f578151906001600160401b03821161082f57808301601f83850101121561082f57818301519161275d83611d34565b9361276b6040519586610ad1565b8385526020850192810160208560051b84840101011161082f5780820160200192915b60208560051b828401010184106127ab5750505050509338611ec5565b60208080946127b987611d59565b815201940193925061278e565b806127d46128a19284611d7c565b5160ff81511690604081015190604051916127ee83610a4d565b825260608101516040519061280282610a4d565b81526080820151906040519161281783610a4d565b825260c060a0840151936040519461282e86610a4d565b85520151936040519461284086610a4d565b85526040519561284f87610a7e565b86526000602087015260006040870152600060608701526000608087015260a086015260c085015260e084015261010083015261012082015261289482608051611d7c565b52611a8281608051611d7c565b611e86565b9097506020813d6020116128da575b816128c260209383610ad1565b8101031261082f576128d390611d59565b9638611e82565b3d91506128b5565b6020906128ed611ca6565b828260805101015201611e43565b9092503d90816000823e61290f8282610ad1565b602081838101031261082f578051916001600160401b03831161082f57808201601f84840101121561082f57828201519061294982611d34565b936129576040519586610ad1565b828552602085019082850160208560051b83880101011161082f57602081860101915b60208560051b83880101018310612998575050505050509138611e13565b82516001600160401b03811161082f57610100878401820186890103601f19011261082f576040516129c981610a9a565b6129d9602083868b010101611d4b565b8152604082858a01010151926001600160401b03841161082f57868901603f8585888d01010101121561082f57869160208585888d0101010151948a60408783888b612a2484610bc0565b99612a3186519b8c610ad1565b848b5286019501010101011161082f576101008560e0602098978a8f89612a6a8d9c612ab39960408f9e8f019188888801010101610a2a565b888b0152010160608181015160408801526080808301519188019190915260a0808301519188019190915260c08083015191880191909152910151908501528c89010101610eaf565b60e0820152815201930192905061297a565b909291805115612b4757670de0b6b3a764000080612ae38484612b85565b510491818602918683041486151715610b8a5751918215612b31576000908196808211600014612b215750505090612b1d92910490610db2565b9190565b9250925094506117fa9250610db2565b634e487b7160e01b600052601260045260246000fd5b509190565b670de0b6b3a764000091612b72916000604051612b6881610a4d565b5251905190610ba0565b0460405190612b8082610a4d565b815290565b90612b9f916000604051612b9881610a4d565b5251610ba0565b60405190612b8082610a4d56fea2646970667358221220fe949439736ab1488eaf416cfba193f396eb65024e3d153df2ce0fd8ee03bd7a64736f6c63430008130033";
17
+ static readonly bytecode = "0x6080806040523461001657612b65908161001c8239f35b600080fdfe61014080604052600436101561001457600080fd5b60003560e01c90816301ffc9a71461152e57508063248a9ca3146114ff5780632f2ff15d1461143857806336568abe146113a65780634e79238f146106025780635fe3b567146105d95780638bad38dd146103b45780639010d07c1461036d57806391d1485414610320578063a217fddf14610304578063a9e40a42146102e0578063c4d66de81461012c578063ca15c873146101005763d547741f146100ba57600080fd5b346100fb5760403660031901126100fb576100f96004356100d961159b565b908060005260656020526100f46001604060002001546115ea565b61186f565b005b600080fd5b346100fb5760203660031901126100fb5760043560005260976020526020604060002054604051908152f35b346100fb576020806003193601126100fb576004356001600160a01b038116908190036100fb576000549060ff8260081c1615918280936102d3575b80156102bc575b156102605760ff198082166001176000556101c192918461024e575b506000805260658552604060002082600052855260ff60406000205416156101ff575b5060008052609784526040600020611a79565b506101c857005b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989061ff00196000541660005560405160018152a1005b600080526065855260406000208260005285526001604060002091825416179055338160007f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4846101ae565b61ffff1916610101176000558561018b565b60405162461bcd60e51b815260048101859052602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561016f5750600160ff82161461016f565b50600160ff821610610168565b346100fb5760206102fc6102f3366115b1565b92919091611c0d565b604051908152f35b346100fb5760003660031901126100fb57602060405160008152f35b346100fb5760403660031901126100fb5761033961159b565b600435600052606560205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b346100fb5760403660031901126100fb576004356000526097602052602061039b6024356040600020611a61565b905460405160039290921b1c6001600160a01b03168152f35b346100fb576020806003193601126100fb576004356001600160a01b03811691908290036100fb576000805260658152604060002033600052815260ff604060002054161561041b57506bffffffffffffffffffffffff60a01b60c954161760c955600080f35b61042433611953565b9060009160405161043481611833565b604281528281019360603686378151156105c3576030855381516001908110156105c357607860218401536041905b80821161056957505061052657906104ef6048604494936040519687916104e08784019676020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b88526104b7815180928b6037890191016117a7565b8401917001034b99036b4b9b9b4b733903937b6329607d1b6037840152518093868401906117a7565b0103602881018752018561184e565b61051860405194859362461bcd60e51b85526004850152518092816024860152858501906117a7565b601f01601f19168101030190fd5b6064836040519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f811660108110156105c3576f181899199a1a9b1b9c1cb0b131b232b360811b901a6105988486611942565b5360041c9180156105ad576000190190610463565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b346100fb5760003660031901126100fb5760c9546040516001600160a01b039091168152602090f35b346100fb57610610366115b1565b60a05260e052608052610621612931565b5060018060a01b0360c9541660c052604051631b042ea360e11b815260008160048160c0515afa908115610994576000916111df575b50805190610664826129bf565b90610672604051928361184e565b828252601f19610681846129bf565b0160005b8181106111c857505060009260009161069c612931565b906040516307dc0d1d60e41b815260208160048160c0515afa80156109945761118f575b5060005b8381106110ad57505060405192632aff3bff60e21b845260018060a01b038716600485015260008460248160c0515afa93841561099457600094611012575b5060005b8451811015610b83576001600160a01b036107228287612a07565b51169060405191638e8f294b60e01b835280600484015260608360248160c0515afa92831561099457600093610b4f575b506040516361bfb47160e11b81526001600160a01b038b166004820152608081602481855afa91821561099457600092600093600093600092610b04575b50610ace57604051906312bdd04160e31b825282600483015260208260248160c0515afa91821561099457600092610a9a575b50604051916107d2836117ca565b8252604051906107e1826117ca565b8152604051632179928d60e11b8152602081600481875afa918215610994578391600093610a60575b5061084461083d670de0b6b3a76400009461083861084d95879560405193610831856117ca565b8452612acf565b612acf565b9788612b08565b51049483612b08565b5160805191900494906001600160a01b031683146109e1575b505060ff604051956368f58b3f60e11b875216600486015260208560248160c0515afa948515610994576000956109a0575b50602060049160405192838092637f4e225760e11b82525afa8015610994578a91600091610953575b5061091d959015610922576108fa9360406108f181956109159560ff61090e961698899260206108f18585612a07565b5101519061191a565b60206109068484612a07565b510152612a07565b928a612a07565b5101526129f8565b610707565b6109479360806108f181956109159560ff61090e961698899260606108f18585612a07565b60606109068484612a07565b9150506020813d60201161098c575b8161096f6020938361184e565b810103126100fb5761091d946109858b92611c00565b90956108c1565b3d9150610962565b6040513d6000823e3d90fd5b9094506020813d6020116109d9575b816109bc6020938361184e565b810103126100fb5760206109d16004926129d6565b959150610898565b3d91506109af565b92670de0b6b3a76400006109fe610a309496939560e05190612b08565b510490808211610a3857610a1e670de0b6b3a764000092610a2992611b03565b945b60a05190612b08565b510461191a565b918c80610866565b610a4690610a4c9392611b03565b9061191a565b670de0b6b3a7640000610a29600094610a20565b925090506020823d602011610a92575b81610a7d6020938361184e565b810103126100fb57905190829061084461080a565b3d9150610a70565b9091506020813d602011610ac6575b81610ab66020938361184e565b810103126100fb5751908e6107c4565b3d9150610aa9565b60405162461bcd60e51b815260206004820152600e60248201526d39b730b839b437ba1032b93937b960911b6044820152606490fd5b9450505090506080823d608011610b47575b81610b236080938361184e565b810103126100fb57815160208301516040840151606090940151909392918e610791565b3d9150610b16565b610b7291935060603d606011610b7c575b610b6a818361184e565b810190612a1b565b509050918a610753565b503d610b60565b509084918660405193638e8f294b60e01b855260018060a01b0360805116600486015260608560248160c0515afa94851561099457600095610fee575b506000935b60ff9081861688811015610d755782610bde8286612a07565b51511615610d6c57610bf09084612a07565b519160808301805180610d4c575b506040840191825180610d2c575b50815180610d0c575b50825180610cec575b506020850190815190610c37606088019283519061191a565b151580610cd7575b610cc55786518c8216911603610c6b575050505050935b60ff8091169081146105ad5760010193610bc5565b94610caf91610a29610cbf97610120610ca4610cb7989c999e9d979961010087015195610a29670de0b6b3a76400009788925190612b08565b940151905190612b08565b95519061191a565b90519061191a565b92610c56565b6040516360165d6560e11b8152600490fd5b50610ce5855185519061191a565b1515610c3f565b610d02606087019182519060e089015191612a48565b855290528b610c1e565b610d22606087019182519060e089015191612a48565b845290528b610c15565b610d42602087019182519060a089015191612a48565b855290528b610c0c565b610d62602086019182519060c088015191612a48565b835290528a610bfe565b50949050610c56565b50848481811115610fdc5790610d8a91611b03565b6000915b604081015180151580610fd3575b610f94575b50608081015180151580610f8b575b610f4c575b5082610f2e575b82610f10575b60805182906001600160a01b0316151580610e8b575b610e2a608092610e3f95610e3693600014610e655750610e0e90670de0b6b3a7640000610a2960c0880151602089015190612b08565b670de0b6b3a7640000610a2960e0870151606088015190612b08565b9460408401519061191a565b9101519061191a565b9080151580610e5c575b610cc55760409182519182526020820152f35b50811515610e49565b610e869150670de0b6b3a7640000610a2960a0880151602089015190612b08565b610e0e565b5060405192637f4e225760e11b845260208460048160018060a01b03608051165afa93841561099457600094610ec4575b509215610dd8565b93506020843d602011610f08575b81610edf6020938361184e565b810103126100fb57610e2a608092610e3692610efd610e3f97611c00565b965092509250610ebc565b3d9150610ed2565b610f27606082019384519061012084015191612a48565b9352610dc2565b610f45602082019384519061010084015191612a48565b9352610dbc565b909181811115610f7557610f669150608083015190611b03565b90600060808201525b83610db5565b610f7e91611b03565b6080820152600090610f6f565b50821515610db0565b909181811115610fbd57610fae9150604083015190611b03565b90600060408201525b83610da1565b610fc691611b03565b6040820152600090610fb7565b50821515610d9c565b610fe591611b03565b90600090610d8e565b61100891955060603d606011610b7c57610b6a818361184e565b5090509386610bc0565b9093503d806000833e611025818361184e565b8101906020818303126100fb578051906001600160401b0382116100fb57019080601f830112156100fb57815161105b816129bf565b92611069604051948561184e565b81845260208085019260051b8201019283116100fb57602001905b828210611095575050509287610703565b602080916110a2846129e4565b815201910190611084565b806110bb61118a9284612a07565b5160ff81511690604081015190604051916110d5836117ca565b82526060810151604051906110e9826117ca565b8152608082015190604051916110fe836117ca565b825260c060a08401519360405194611115866117ca565b855201519360405194611127866117ca565b855260405195611136876117fb565b86526000602087015260006040870152600060608701526000608087015260a086015260c085015260e08401526101008301526101208201526111798289612a07565b526111848188612a07565b506129f8565b6106c4565b6020813d6020116111c0575b816111a86020938361184e565b810103126100fb576111b9906129e4565b50876106c0565b3d915061119b565b6020906111d3612931565b82828701015201610685565b3d9150816000823e6111f1828261184e565b60208183810103126100fb578051916001600160401b0383116100fb57808201601f8484010112156100fb57828201519061122b826129bf565b93611239604051958661184e565b828552602085019082850160208560051b8388010101116100fb57602081860101915b60208560051b838801010183106112795750505050505082610657565b82516001600160401b0381116100fb57610100878401820186890103601f1901126100fb576040516112aa81611817565b6112ba602083868b0101016129d6565b8152604082858a01010151926001600160401b0384116100fb57868901603f8585888d0101010112156100fb57869160208585888d0101010151948a60408783888b61130584611927565b9961131286519b8c61184e565b848b528601950101010101116100fb576101008560e0602098978a8f8961134b8d9c6113949960408f9e8f0191888888010101016117a7565b888b0152010160608181015160408801526080808301519188019190915260a0808301519188019190915260c08083015191880191909152910151908501528c89010101611c00565b60e0820152815201930192905061125c565b346100fb5760403660031901126100fb576113bf61159b565b336001600160a01b038216036113db576100f99060043561186f565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b346100fb5760403660031901126100fb576100f9600435609761145961159b565b9180600052602090606582526114766001604060002001546115ea565b60008181526065835260408082206001600160a01b0390961680835295845290205460ff16156114af575b600052526040600020611a79565b806000526065825260406000208460005282526040600020600160ff198254161790553384827f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d600080a46114a1565b346100fb5760203660031901126100fb5760043560005260656020526020600160406000200154604051908152f35b346100fb5760203660031901126100fb576004359063ffffffff60e01b82168092036100fb57602091635a05180f60e01b8114908115611570575b5015158152f35b637965db0b60e01b81149150811561158a575b5083611569565b6301ffc9a760e01b14905083611583565b602435906001600160a01b03821682036100fb57565b60809060031901126100fb576001600160a01b039060043582811681036100fb579160243590811681036100fb57906044359060643590565b6000818152602060658152604092838320338452825260ff8484205416156116125750505050565b61161b33611953565b9084519061162882611833565b6042825283820194606036873782511561179357603086538251906001918210156117935790607860218501536041915b818311611725575050506116e357846116bf60486105189360449798519889916116b08984019876020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a526104b7815180928d6037890191016117a7565b0103602881018952018761184e565b5194859362461bcd60e51b85526004850152518092816024860152858501906117a7565b60648386519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f8116601081101561177f576f181899199a1a9b1b9c1cb0b131b232b360811b901a6117558587611942565b5360041c92801561176b57600019019190611659565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b60005b8381106117ba5750506000910152565b81810151838201526020016117aa565b602081019081106001600160401b038211176117e557604052565b634e487b7160e01b600052604160045260246000fd5b61014081019081106001600160401b038211176117e557604052565b61010081019081106001600160401b038211176117e557604052565b608081019081106001600160401b038211176117e557604052565b90601f801991011681019081106001600160401b038211176117e557604052565b9060406118ad9260009080825260656020528282209360018060a01b03169384835260205260ff83832054166118b0575b8152609760205220611b10565b50565b808252606560205282822084835260205282822060ff1981541690553384827ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b8580a46118a0565b9060016000921517156105ad57565b818102929181159184041417156105ad57565b919082018092116105ad57565b6001600160401b0381116117e557601f01601f191660200190565b9081518110156105c3570160200190565b60405190606082018281106001600160401b038211176117e557604052602a82526020820160403682378251156105c3576030905381516001908110156105c357607860218401536029905b8082116119f35750506119af5790565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015611a4c576f181899199a1a9b1b9c1cb0b131b232b360811b901a611a228486611942565b5360041c918015611a3757600019019061199f565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fd5b80548210156105c35760005260206000200190600090565b91906001830160009082825280602052604082205415600014611afd5784549468010000000000000000861015611ae95783611ad9611ac2886001604098999a01855584611a61565b819391549060031b91821b91600019901b19161790565b9055549382526020522055600190565b634e487b7160e01b83526041600452602483fd5b50925050565b919082039182116105ad57565b90600182019060009281845282602052604084205490811515600014611bf95760001991808301818111611be557825490848201918211611bd157808203611b9c575b50505080548015611b8857820191611b6b8383611a61565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b611bbc611bac611ac29386611a61565b90549060031b1c92839286611a61565b90558652846020526040862055388080611b53565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b519081151582036100fb57565b939061012052611c1b612931565b5060018060a01b0360c9541661010052604051631b042ea360e11b8152600081600481610100515afa9081156109945760009161276b575b50805192611c60846129bf565b93611c6e604051958661184e565b808552601f19611c7d826129bf565b0160005b81811061275457505060008091611c96612931565b946040516307dc0d1d60e41b8152602081600481610100515afa80156109945761271b575b5060005b82811061263f57505060405195632aff3bff60e21b875260018060a01b038a166004880152600087602481610100515afa9687156109945760009761258d575b5060005b8751811015612102576001600160a01b03611d1e828a612a07565b51169060405191638e8f294b60e01b8352806004840152606083602481610100515afa928315610994576000936120de575b506040516361bfb47160e11b81526001600160a01b038e166004820152608081602481855afa91821561099457600092600093600093600092612093575b50610ace57604051906312bdd04160e31b8252826004830152602082602481610100515afa9182156109945760009261205f575b5060405191611dd0836117ca565b825260405190611ddf826117ca565b8152604051632179928d60e11b8152602081600481875afa908115610994578390600092612029575b5090610838611e2292611e399460405193610831856117ca565b94611e42670de0b6b3a76400008093819389612b08565b51049584612b08565b516101205191900495906001600160a01b03168414611f9c575b50505060ff604051956368f58b3f60e11b8752166004860152602085602481610100515afa94851561099457600095611f5b575b50602060049160405192838092637f4e225760e11b82525afa8015610994578d91600091611f1a575b50611ef0959015611ef5576108fa9360406108f181956109159560ff611ee9961698899260206108f18585612a07565b928d612a07565b611d03565b6109479360806108f181956109159560ff611ee9961698899260606108f18585612a07565b9150506020813d602011611f53575b81611f366020938361184e565b810103126100fb57611ef094611f4c8e92611c00565b9095611eb9565b3d9150611f29565b9094506020813d602011611f94575b81611f776020938361184e565b810103126100fb576020611f8c6004926129d6565b959150611e90565b3d9150611f6a565b9381611fbd612005959794966000604051611fb6816117ca565b52516118f8565b80604051611fca816117ca565b52049080821161200e57611ff191611fe191611b03565b945b6000604051611fb6816117ca565b80604051611ffe816117ca565b520461191a565b91388080611e5c565b610a469061201d939492611b03565b90611ff1600094611fe3565b9150506020813d602011612057575b816120456020938361184e565b810103126100fb575182610838611e08565b3d9150612038565b9091506020813d60201161208b575b8161207b6020938361184e565b810103126100fb57519038611dc2565b3d915061206e565b9450505090506080823d6080116120d6575b816120b26080938361184e565b810103126100fb578151602083015160408401516060909401519093929138611d8e565b3d91506120a5565b6120f891935060603d606011610b7c57610b6a818361184e565b5090509138611d50565b509296949850929690945060405196638e8f294b60e01b885260018060a01b0361012051166004890152606088602481610100515afa97881561099457600098612569575b506000985b60ff8a16858110156122f85760ff6121648289612a07565b515116156122f1576121769087612a07565b51906080820151806122ce575b506040820151806122ab575b50608082015180612288575b50604082015180612265575b506121bb602083015160608401519061191a565b15158061224a575b610cc55760ff82511660ff8b16146000146121f05750985b60ff8091169081146105ad576001019861214c565b999796906080610e36612238610a2961222361224496610100870151670de0b6b3a764000093849160208a015190612b08565b90610a29610120870151606088015190612b08565b9960408401519061191a565b966121db565b5061225e604083015160808401519061191a565b15156121c3565b61227b606084019182519060e086015191612a48565b60408501529052386121a7565b61229e606084019182519060e086015191612a48565b608085015290523861219b565b6122c1602084019182519060a086015191612a48565b604085015290523861218f565b6122e4602084019182519060c086015191612a48565b6080850152905238612183565b50986121db565b5095935095935095509550818111600014612557579061231791611b03565b9260005b6040830180518015158061254e575b612512575b505060808301805180151580612509575b6124cd575b5050806124af575b80612491575b60405193612360856117ca565b84526040519161236f836117ca565b8252610120516001600160a01b031615158061241c575b926123a89360e0820151670de0b6b3a764000080968192606086015190612b08565b510491156123ff57610a2983602060c06123c796015191015190612b08565b905b6123d3828761191a565b11156123f557826123ea6123f296610a2994612b08565b510493612b08565b90565b5050505050600090565b610a2983602060a061241696015191015190612b08565b906123c9565b5060405192637f4e225760e11b845260208460048160018060a01b0361012051165afa801561099457600090612456575b90935015612386565b506020843d602011612489575b816124706020938361184e565b810103126100fb576124846123a894611c00565b61244d565b3d9150612463565b6124a8606084019182519061012086015191612a48565b9152612353565b6124c6602084019182519061010086015191612a48565b915261234d565b80879297116000146124f257506124e8600091875190611b03565b95525b3880612345565b906124ff91969296611b03565b90526000936124eb565b50861515612340565b8087929711600014612537575061252d600091875190611b03565b95525b388061232f565b9061254491969296611b03565b9052600093612530565b5086151561232a565b61256091611b03565b9260009361231b565b61258391985060603d606011610b7c57610b6a818361184e565b5090509638612147565b9096503d806000833e6125a0818361184e565b81016020828203126100fb578151906001600160401b0382116100fb5780601f8385010112156100fb5781830151916125d8836129bf565b936125e6604051958661184e565b838552602085019260208560051b8484010101116100fb5780820160200192915b60208560051b828401010184106126245750505050509538611cff565b6020808094612632876129e4565b8152019401939250612607565b8061264d6127169284612a07565b5160ff8151169060408101519060405191612667836117ca565b825260608101516040519061267b826117ca565b815260808201519060405191612690836117ca565b825260c060a084015193604051946126a7866117ca565b8552015193604051946126b9866117ca565b8552604051956126c8876117fb565b86526000602087015260006040870152600060608701526000608087015260a086015260c085015260e084015261010083015261012082015261270b828c612a07565b52611184818b612a07565b611cbf565b6020813d60201161274c575b816127346020938361184e565b810103126100fb57612745906129e4565b5038611cbb565b3d9150612727565b60209061275f612931565b82828a01015201611c81565b90503d806000833e61277d818361184e565b60208282810103126100fb578151906001600160401b0382116100fb57808301601f8385010112156100fb5781830151906127b7826129bf565b936127c5604051958661184e565b828552602085019082810160208560051b8784010101116100fb57602085820101915b60208560051b878401010183106128055750505050505038611c53565b8251906001600160401b0382116100fb57610100838801830186850103601f1901126100fb5760405161283781611817565b6128476020848a870101016129d6565b8152604083898601010151916001600160401b0383116100fb57868501603f84868c890101010112156100fb57602083858b8801010101519161288983611927565b94612897604051968761184e565b838652868901878c01820186018501604001116100fb57602095869586956128cb91878401908f8c018601016040016117a7565b82850152868b010160608181015160408401526080808301519184019190915260a0808301519184019190915260c0808301519184019190915260e08083015191840191909152906129209061010001611c00565b9082015281520193019290506127e8565b604090815191612940836117fb565b610120836000928382528360208301528381830152836060830152836080830152805161296c816117ca565b84815260a0830152805161297f816117ca565b84815260c08301528051612992816117ca565b84815260e083015280516129a5816117ca565b84815261010083015251926129b9846117ca565b83520152565b6001600160401b0381116117e55760051b60200190565b519060ff821682036100fb57565b51906001600160a01b03821682036100fb57565b60001981146105ad5760010190565b80518210156105c35760209160051b010190565b908160609103126100fb57612a2f81611c00565b916123f26040612a41602085016129d6565b9301611c00565b909291805115612aca57670de0b6b3a764000080612a668484612b08565b5104918186029186830414861517156105ad5751918215612ab4576000908196808211600014612aa45750505090612aa092910490611b03565b9190565b9250925094506123f29250611b03565b634e487b7160e01b600052601260045260246000fd5b509190565b670de0b6b3a764000091612af5916000604051612aeb816117ca565b5251905190611907565b0460405190612b03826117ca565b815290565b90612b22916000604051612b1b816117ca565b5251611907565b60405190612b03826117ca56fea264697066735822122090ddea9d62b5cc3e22b0564aa5ae932b2c910fc1823d5133f61db297bac5244564736f6c63430008130033";
18
18
  static readonly abi: readonly [{
19
+ readonly inputs: readonly [];
20
+ readonly name: "AddReservesMarketNotFresh";
21
+ readonly type: "error";
22
+ }, {
23
+ readonly inputs: readonly [];
24
+ readonly name: "AddReservesOverflow";
25
+ readonly type: "error";
26
+ }, {
27
+ readonly inputs: readonly [];
28
+ readonly name: "BorrowAndDepositBackFailed";
29
+ readonly type: "error";
30
+ }, {
31
+ readonly inputs: readonly [];
32
+ readonly name: "BorrowCapReached";
33
+ readonly type: "error";
34
+ }, {
35
+ readonly inputs: readonly [];
36
+ readonly name: "BorrowCashNotAvailable";
37
+ readonly type: "error";
38
+ }, {
39
+ readonly inputs: readonly [];
40
+ readonly name: "BorrowMarketNotFresh";
41
+ readonly type: "error";
42
+ }, {
43
+ readonly inputs: readonly [];
44
+ readonly name: "BorrowPaused";
45
+ readonly type: "error";
46
+ }, {
47
+ readonly inputs: readonly [{
48
+ readonly internalType: "uint256";
49
+ readonly name: "usdThreshold";
50
+ readonly type: "uint256";
51
+ }];
52
+ readonly name: "BorrowValueMustBeLargerThanThreshold";
53
+ readonly type: "error";
54
+ }, {
55
+ readonly inputs: readonly [];
56
+ readonly name: "CantExitMarketWithNonZeroBorrowBalance";
57
+ readonly type: "error";
58
+ }, {
59
+ readonly inputs: readonly [];
60
+ readonly name: "CantSweepUnderlying";
61
+ readonly type: "error";
62
+ }, {
63
+ readonly inputs: readonly [];
64
+ readonly name: "ComptrollerMismatch";
65
+ readonly type: "error";
66
+ }, {
67
+ readonly inputs: readonly [];
68
+ readonly name: "GroupIdMismatch";
69
+ readonly type: "error";
70
+ }, {
71
+ readonly inputs: readonly [];
72
+ readonly name: "InsufficientCollateral";
73
+ readonly type: "error";
74
+ }, {
75
+ readonly inputs: readonly [];
76
+ readonly name: "InsufficientShortfall";
77
+ readonly type: "error";
78
+ }, {
79
+ readonly inputs: readonly [];
80
+ readonly name: "InvalidAddress";
81
+ readonly type: "error";
82
+ }, {
83
+ readonly inputs: readonly [];
84
+ readonly name: "InvalidAmount";
85
+ readonly type: "error";
86
+ }, {
87
+ readonly inputs: readonly [];
88
+ readonly name: "InvalidCloseFactor";
89
+ readonly type: "error";
90
+ }, {
91
+ readonly inputs: readonly [];
92
+ readonly name: "InvalidComptroller";
93
+ readonly type: "error";
94
+ }, {
95
+ readonly inputs: readonly [];
96
+ readonly name: "InvalidDiscountRate";
97
+ readonly type: "error";
98
+ }, {
99
+ readonly inputs: readonly [];
100
+ readonly name: "InvalidExchangeRate";
101
+ readonly type: "error";
102
+ }, {
103
+ readonly inputs: readonly [];
104
+ readonly name: "InvalidGroupId";
105
+ readonly type: "error";
106
+ }, {
107
+ readonly inputs: readonly [];
108
+ readonly name: "InvalidInput";
109
+ readonly type: "error";
110
+ }, {
111
+ readonly inputs: readonly [];
112
+ readonly name: "InvalidInterestRateModel";
113
+ readonly type: "error";
114
+ }, {
115
+ readonly inputs: readonly [];
116
+ readonly name: "InvalidMinSuBorrowValue";
117
+ readonly type: "error";
118
+ }, {
119
+ readonly inputs: readonly [];
120
+ readonly name: "InvalidReduceAmount";
121
+ readonly type: "error";
122
+ }, {
123
+ readonly inputs: readonly [];
124
+ readonly name: "InvalidReserveFactor";
125
+ readonly type: "error";
126
+ }, {
127
+ readonly inputs: readonly [];
128
+ readonly name: "InvalidSignatureForRedeemFaceValue";
129
+ readonly type: "error";
130
+ }, {
131
+ readonly inputs: readonly [];
132
+ readonly name: "InvalidSignatureLength";
133
+ readonly type: "error";
134
+ }, {
135
+ readonly inputs: readonly [];
136
+ readonly name: "InvalidSuToken";
137
+ readonly type: "error";
138
+ }, {
139
+ readonly inputs: readonly [];
140
+ readonly name: "LiquidateBorrow_LiquidatorIsBorrower";
141
+ readonly type: "error";
142
+ }, {
143
+ readonly inputs: readonly [];
144
+ readonly name: "LiquidateBorrow_RepayAmountIsMax";
145
+ readonly type: "error";
146
+ }, {
147
+ readonly inputs: readonly [];
148
+ readonly name: "LiquidateBorrow_RepayAmountIsZero";
149
+ readonly type: "error";
150
+ }, {
151
+ readonly inputs: readonly [];
152
+ readonly name: "LiquidateBorrow_SeizeTooMuch";
153
+ readonly type: "error";
154
+ }, {
155
+ readonly inputs: readonly [];
156
+ readonly name: "LiquidateCollateralMarketNotFresh";
157
+ readonly type: "error";
158
+ }, {
159
+ readonly inputs: readonly [];
160
+ readonly name: "LiquidateMarketNotFresh";
161
+ readonly type: "error";
162
+ }, {
163
+ readonly inputs: readonly [];
164
+ readonly name: "MarketAlreadyListed";
165
+ readonly type: "error";
166
+ }, {
167
+ readonly inputs: readonly [];
168
+ readonly name: "MarketCanOnlyInitializeOnce";
169
+ readonly type: "error";
170
+ }, {
171
+ readonly inputs: readonly [];
172
+ readonly name: "MarketNotListed";
173
+ readonly type: "error";
174
+ }, {
175
+ readonly inputs: readonly [];
176
+ readonly name: "MintMarketNotFresh";
177
+ readonly type: "error";
178
+ }, {
179
+ readonly inputs: readonly [];
180
+ readonly name: "MintPaused";
181
+ readonly type: "error";
182
+ }, {
183
+ readonly inputs: readonly [];
184
+ readonly name: "NoRedemptionProvider";
185
+ readonly type: "error";
186
+ }, {
187
+ readonly inputs: readonly [];
188
+ readonly name: "NotCToken";
189
+ readonly type: "error";
190
+ }, {
191
+ readonly inputs: readonly [];
192
+ readonly name: "NotSuToken";
193
+ readonly type: "error";
194
+ }, {
195
+ readonly inputs: readonly [];
196
+ readonly name: "OneOfNetAssetAndNetDebtMustBeZero";
197
+ readonly type: "error";
198
+ }, {
199
+ readonly inputs: readonly [];
200
+ readonly name: "OneOfRedeemTokensAndRedeemAmountMustBeZero";
201
+ readonly type: "error";
202
+ }, {
203
+ readonly inputs: readonly [];
204
+ readonly name: "OnlyAdmin";
205
+ readonly type: "error";
206
+ }, {
207
+ readonly inputs: readonly [];
208
+ readonly name: "OnlyAdminOrCapper";
209
+ readonly type: "error";
210
+ }, {
211
+ readonly inputs: readonly [];
212
+ readonly name: "OnlyAdminOrPauser";
213
+ readonly type: "error";
214
+ }, {
215
+ readonly inputs: readonly [];
216
+ readonly name: "OnlyCToken";
217
+ readonly type: "error";
218
+ }, {
219
+ readonly inputs: readonly [];
220
+ readonly name: "OnlyComptroller";
221
+ readonly type: "error";
222
+ }, {
223
+ readonly inputs: readonly [];
224
+ readonly name: "OnlyListedCToken";
225
+ readonly type: "error";
226
+ }, {
227
+ readonly inputs: readonly [];
228
+ readonly name: "OnlyPendingAdmin";
229
+ readonly type: "error";
230
+ }, {
231
+ readonly inputs: readonly [];
232
+ readonly name: "PriceError";
233
+ readonly type: "error";
234
+ }, {
235
+ readonly inputs: readonly [];
236
+ readonly name: "ProtectedMint_OnlyAllowAssetsInTheSameGroup";
237
+ readonly type: "error";
238
+ }, {
239
+ readonly inputs: readonly [];
240
+ readonly name: "ProtocolIsPaused";
241
+ readonly type: "error";
242
+ }, {
243
+ readonly inputs: readonly [];
244
+ readonly name: "RedeemAndTransferMarketNotFresh";
245
+ readonly type: "error";
246
+ }, {
247
+ readonly inputs: readonly [];
248
+ readonly name: "RedeemAndTransfer_AmountIsZero";
249
+ readonly type: "error";
250
+ }, {
251
+ readonly inputs: readonly [];
252
+ readonly name: "RedeemMarketNotFresh";
253
+ readonly type: "error";
254
+ }, {
255
+ readonly inputs: readonly [];
256
+ readonly name: "RedeemTransferOutNotPossible";
257
+ readonly type: "error";
258
+ }, {
259
+ readonly inputs: readonly [];
260
+ readonly name: "RedemptionSeizeTooMuch";
261
+ readonly type: "error";
262
+ }, {
263
+ readonly inputs: readonly [];
264
+ readonly name: "ReduceReservesCashNotAvailable";
265
+ readonly type: "error";
266
+ }, {
267
+ readonly inputs: readonly [];
268
+ readonly name: "ReduceReservesMarketNotFresh";
269
+ readonly type: "error";
270
+ }, {
271
+ readonly inputs: readonly [];
272
+ readonly name: "ReduceReservesOverflow";
273
+ readonly type: "error";
274
+ }, {
275
+ readonly inputs: readonly [];
276
+ readonly name: "RepayBorrowMarketNotFresh";
277
+ readonly type: "error";
278
+ }, {
279
+ readonly inputs: readonly [];
280
+ readonly name: "SeizePaused";
281
+ readonly type: "error";
282
+ }, {
283
+ readonly inputs: readonly [];
284
+ readonly name: "Seize_LiquidatorIsBorrower";
285
+ readonly type: "error";
286
+ }, {
287
+ readonly inputs: readonly [];
288
+ readonly name: "SenderMustBeCToken";
289
+ readonly type: "error";
290
+ }, {
291
+ readonly inputs: readonly [];
292
+ readonly name: "SetInterestRateModelMarketNotFresh";
293
+ readonly type: "error";
294
+ }, {
295
+ readonly inputs: readonly [];
296
+ readonly name: "SetReservesFactorMarketNotFresh";
297
+ readonly type: "error";
298
+ }, {
299
+ readonly inputs: readonly [];
300
+ readonly name: "SupplyCapReached";
301
+ readonly type: "error";
302
+ }, {
303
+ readonly inputs: readonly [];
304
+ readonly name: "TokenInOrAmountInMustBeZero";
305
+ readonly type: "error";
306
+ }, {
307
+ readonly inputs: readonly [];
308
+ readonly name: "TokenTransferInFailed";
309
+ readonly type: "error";
310
+ }, {
311
+ readonly inputs: readonly [];
312
+ readonly name: "TokenTransferOutFailed";
313
+ readonly type: "error";
314
+ }, {
315
+ readonly inputs: readonly [];
316
+ readonly name: "TooMuchRepay";
317
+ readonly type: "error";
318
+ }, {
319
+ readonly inputs: readonly [];
320
+ readonly name: "TransferNotAllowed";
321
+ readonly type: "error";
322
+ }, {
323
+ readonly inputs: readonly [];
324
+ readonly name: "TransferPaused";
325
+ readonly type: "error";
326
+ }, {
327
+ readonly inputs: readonly [];
328
+ readonly name: "UnderlyingBalanceError";
329
+ readonly type: "error";
330
+ }, {
19
331
  readonly anonymous: false;
20
332
  readonly inputs: readonly [{
21
333
  readonly indexed: false;