@raac/rpc 1.1.0-beta.60 → 1.1.0-beta.62

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 (36) hide show
  1. package/dist/artifacts/core/collectors/FeeCollector.sol/FeeCollector.json +124 -28
  2. package/dist/artifacts/core/collectors/RAACTokenCollector.sol/RAACTokenCollector.json +2 -2
  3. package/dist/artifacts/core/collectors/RWAIndexTokenCollector.sol/RWAIndexTokenCollector.json +2 -2
  4. package/dist/artifacts/core/collectors/Treasury.sol/Treasury.json +9 -3
  5. package/dist/artifacts/core/minters/RAACMinter/RAACMinter.sol/RAACMinter.json +2 -2
  6. package/dist/artifacts/core/oracles/BaseVRFv2Consumer.sol/BaseVRFv2Consumer.json +2 -2
  7. package/dist/artifacts/core/oracles/RAACHousePriceOracle.sol/RAACHousePriceOracle.json +252 -29
  8. package/dist/artifacts/core/oracles/RAACPrimeRateOracle.sol/RAACPrimeRateOracle.json +185 -29
  9. package/dist/artifacts/core/pools/LendingPool/ERC20AssetAdapter.sol/ERC20AssetAdapter.json +2 -2
  10. package/dist/artifacts/core/pools/LendingPool/ERC721AssetAdapter.sol/ERC721AssetAdapter.json +37 -3
  11. package/dist/artifacts/core/pools/LendingPool/LendingPool.sol/LendingPool.json +120 -54
  12. package/dist/artifacts/core/pools/StabilityPool/StabilityPool.sol/StabilityPool.json +101 -83
  13. package/dist/artifacts/core/primitives/ComplianceRegistry.sol/ComplianceRegistry.json +2 -2
  14. package/dist/artifacts/core/primitives/RAACHousePrices.sol/RAACHousePrices.json +115 -88
  15. package/dist/artifacts/core/tokens/DEToken.sol/DEToken.json +31 -21
  16. package/dist/artifacts/core/tokens/RAACNFT.sol/RAACNFT.json +114 -2
  17. package/dist/artifacts/core/tokens/RAACToken.sol/RAACToken.json +2 -2
  18. package/dist/artifacts/core/tokens/RToken.sol/RToken.json +30 -2
  19. package/dist/artifacts/core/tokens/RWAIndexToken.sol/RWAIndexToken.json +25 -2
  20. package/dist/artifacts/core/tokens/veRAACToken.sol/veRAACToken.json +2 -2
  21. package/dist/artifacts/core/vaults/ERC20VaultAdapter.sol/ERC20VaultAdapter.json +2 -2
  22. package/dist/artifacts/core/vaults/ERC721VaultAdapter.sol/ERC721VaultAdapter.json +56 -3
  23. package/dist/artifacts/core/vaults/RWAVault.sol/RWAVault.json +315 -85
  24. package/dist/artifacts/mocks/core/oracles/MockVRFCoordinatorV2.sol/MockVRFCoordinatorV2.json +2 -2
  25. package/dist/artifacts/mocks/core/tokens/crvUSDToken.sol/crvUSDToken.json +2 -2
  26. package/dist/artifacts/zeno/Auction.sol/Auction.json +2 -2
  27. package/dist/artifacts/zeno/AuctionFactory.sol/AuctionFactory.json +2 -2
  28. package/dist/artifacts/zeno/Zeno.sol/Zeno.json +2 -2
  29. package/dist/artifacts/zeno/ZenoFactory.sol/ZenoFactory.json +2 -2
  30. package/dist/oracles/encryptSecrets.js +29 -0
  31. package/dist/oracles/houses/request.js +16 -13
  32. package/dist/pools/lendingPool/openVaultPosition.js +1 -0
  33. package/dist/scripts/index.js +43 -53
  34. package/dist/types/oracles/encryptSecrets.d.ts +4 -0
  35. package/dist/types/oracles/houses/request.d.ts +3 -1
  36. package/package.json +1 -1
@@ -710,8 +710,8 @@
710
710
  "type": "function"
711
711
  }
712
712
  ],
713
- "bytecode": "0x60c0604052346200043057620015f9803803806200001d8162000435565b928339810160a082820312620004305762000038826200045b565b602080840151604085015190949192906001600160401b03908181116200043057856200006791850162000470565b9460608401519082821162000430576200008a6080916200009293870162000470565b94016200045b565b92855182811162000330576003918254916001988984811c9416801562000425575b898510146200040f578190601f94858111620003b9575b508990858311600114620003525760009262000346575b505060001982861b1c191690891b1783555b8051938411620003305760049687548981811c9116801562000325575b828210146200031057908184879695949311620002b4575b50809285116001146200024657506000936200023a575b505082871b92600019911b1c19161783555b6001600160a01b039182169384156200022257600580546001600160a01b031981168717909155604051959084167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a360065516918215801562000219575b6200020d57505060805260a0526040516111169081620004e3823960805181818161046201528181610537015281816106ef0152610d84015260a05181818161018901528181610295015281816103b90152610d2d0152f35b63e6c4247b60e01b8152fd5b506000620001b4565b604051631e4fbdf760e01b8152600081860152602490fd5b01519150388062000140565b929190899550601f1985168960005284600020946000905b8282106200029a57505085116200027f575b50505050811b01835562000152565b01519060f884600019921b161c191690553880808062000270565b8484015187558c989096019593840193908101906200025e565b90919293945088600052816000208480880160051c82019284891062000306575b918c91899897969594930160051c01915b828110620002f657505062000129565b600081558897508c9101620002e6565b92508192620002d5565b602289634e487b7160e01b6000525260246000fd5b90607f169062000111565b634e487b7160e01b600052604160045260246000fd5b015190503880620000e2565b908b9350601f19831691876000528b6000209260005b8d828210620003a2575050841162000389575b505050811b018355620000f4565b015160001983881b60f8161c191690553880806200037b565b8385015186558f9790950194938401930162000368565b90915085600052896000208580850160051c8201928c861062000405575b918d91869594930160051c01915b828110620003f5575050620000cb565b600081558594508d9101620003e5565b92508192620003d7565b634e487b7160e01b600052602260045260246000fd5b93607f1693620000b4565b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200033057604052565b51906001600160a01b03821682036200043057565b919080601f84011215620004305782516001600160401b0381116200033057602090620004a6601f8201601f1916830162000435565b92818452828287010111620004305760005b818110620004ce57508260009394955001015290565b8581018301518482018401528201620004b856fe60806040908082526004908136101561001757600080fd5b600091823560e01c91826302458c74146109815750816306fdde0314610963578163095ea7b3146108b857816318160ddd1461089957816323b872dd146107af5781632f4350c214610781578163313ce567146106c857816340c10f191461060757816368266e1b146105e857816370a08231146105b1578163715018a6146105665781637158da7c146105225781637d9f6db5146104f95781638da5cb5b146104d057816395d89b411461049f578163a6880e4114610410578163a9059cbb146103df578163af920582146103a1578163b8c6f57914610333578163db006a7514610305578163dd62ed3e146102bc578163e593bd741461027d578163f2fde38b14610200575063fbbf93a01461012e57600080fd5b346101fd57806003193601126101fd576060809183519061014e82610a3a565b808252602082015281848201520152610165610a8e565b6101f9610170610b5c565b6101e684519361017f85610a3a565b30855260208501957f000000000000000000000000000000000000000000000000000000000000000087528086019182526060860193845280519687966020885260018060a01b0390511660208801525190860152516080606086015260a085019061099d565b9051838203601f1901608085015261099d565b0390f35b80fd5b839150346102795760203660031901126102795761021c6109dd565b90610225610a0e565b6001600160a01b03918216928315610263575050600580546001600160a01b031981168417909155166000805160206110a18339815191528380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8280fd5b8284346102b857816003193601126102b857602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5080fd5b8284346102b857806003193601126102b857806020926102da6109dd565b6102e26109f8565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b9050346102b85760203660031901126102b85761032b90610324610ceb565b3533610d29565b600160065580f35b839150346102795760203660031901126102795761034f6109dd565b90610358610a0e565b6001600160a01b03918216928315610394576007549283166103875750506001600160a01b0319161760075580f35b516351a05b4d60e01b8152fd5b5163e6c4247b60e01b8152fd5b8284346102b857816003193601126102b857602090517f00000000000000000000000000000000000000000000000000000000000000004210158152f35b8284346102b857806003193601126102b8576020906104096103ff6109dd565b6024359033610bf3565b5160018152f35b8284346102b857806003193601126102b8577fd3a735f71fc85ae657682ad3c7ea1d86c2907dfa17288c9bd57d0c3eea2f7b2d9061044c6109dd565b6104996024359261045b610a0e565b61048f84847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f39565b5192839283610d0e565b0390a180f35b8284346102b857816003193601126102b8576101f9906104bd610b5c565b905191829160208352602083019061099d565b8284346102b857816003193601126102b85760055490516001600160a01b039091168152602090f35b8284346102b857816003193601126102b85760075490516001600160a01b039091168152602090f35b8284346102b857816003193601126102b857517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b82346101fd57806003193601126101fd5761057f610a0e565b600580546001600160a01b0319811690915581906001600160a01b03166000805160206110a18339815191528280a380f35b8284346102b85760203660031901126102b85760209181906001600160a01b036105d96109dd565b16815280845220549051908152f35b8284346102b857816003193601126102b8576020906008549051908152f35b9050346102b857826003193601126102b8576106216109dd565b60075460243592916001600160a01b0391821633036106b85783156106a857169081156106915750826000805160206110c1833981519152602061068b959661066c86600254610cc8565b60025584845283825280842086815401905551858152a3600854610cc8565b60085580f35b845163ec442f0560e01b8152908101849052602490fd5b8551631f2a200560e01b81528390fd5b8551633fbfe96d60e01b81528390fd5b8383346101fd57806003193601126101fd57815163313ce56760e01b8152926020908490817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa928315610775578193610734575b60208460ff855191168152f35b9092506020813d821161076d575b8161074f60209383610a6b565b8101031261027957519160ff831683036101fd575060ff6020610727565b3d9150610742565b509051903d90823e3d90fd5b8284346102b857816003193601126102b85761032b9061079f610ceb565b3383528260205282205433610d29565b919050346101fd5760603660031901126101fd576107cb6109dd565b6107d36109f8565b916044359360018060a01b03831680835260016020528683203384526020528683205491600019830361080f575b602088610409898989610bf3565b8683106108775781156108605733156108495750825260016020908152868320338452815291869020908590039055829061040938610801565b8751634a1406b160e11b8152908101849052602490fd5b875163e602df0560e01b8152908101849052602490fd5b9050610895868851938493637dc7a0d960e11b855233908501610caa565b0390fd5b8284346102b857816003193601126102b8576020906002549051908152f35b839150346102795781600319360112610279576108d36109dd565b60243590331561094c576001600160a01b031691821561093557508083602095338152600187528181208582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b8351634a1406b160e11b8152908101859052602490fd5b835163e602df0560e01b8152808401869052602490fd5b8284346102b857816003193601126102b8576101f9906104bd610a8e565b8390346102b857816003193601126102b8576020906009548152f35b919082519283825260005b8481106109c9575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016109a8565b600435906001600160a01b03821682036109f357565b600080fd5b602435906001600160a01b03821682036109f357565b6005546001600160a01b03163303610a2257565b60405163118cdaa760e01b8152336004820152602490fd5b608081019081106001600160401b03821117610a5557604052565b634e487b7160e01b600052604160045260246000fd5b601f909101601f19168101906001600160401b03821190821017610a5557604052565b60405190600060035490600182811c90808416938415610b52575b6020948584108114610b3e5783885287949392918115610b1e5750600114610adc575b5050610ada92500383610a6b565b565b90939150600360005281600020936000915b818310610b06575050610ada93508201013880610acc565b85548884018501529485019487945091830191610aee565b915050610ada94925060ff191682840152151560051b8201013880610acc565b634e487b7160e01b85526022600452602485fd5b91607f1691610aa9565b60405190600060045490600182811c90808416938415610be9575b6020948584108114610b3e5783885287949392918115610b1e5750600114610ba7575050610ada92500383610a6b565b90939150600460005281600020936000915b818310610bd1575050610ada93508201013880610acc565b85548884018501529485019487945091830191610bb9565b91607f1691610b77565b916001600160a01b03808416928315610c915716928315610c785760009083825281602052604082205490838210610c5b575091604082826000805160206110c1833981519152958760209652828652038282205586815220818154019055604051908152a3565b6108958460405193849363391434e360e21b855260048501610caa565b60405163ec442f0560e01b815260006004820152602490fd5b604051634b637e8f60e11b815260006004820152602490fd5b604091949392606082019560018060a01b0316825260208201520152565b91908201809211610cd557565b634e487b7160e01b600052601160045260246000fd5b600260065414610cfc576002600655565b604051633ee5aeb560e01b8152600490fd5b6001600160a01b039091168152602081019190915260400190565b91907f00000000000000000000000000000000000000000000000000000000000000004210610f27578015610f15576000923384526020848152604094858120548411610f045785516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031692908181602481875afa908115610efa578391610ecd575b5060025411610e90573315610e785733825281815286822054858110610e5957610e54937f4896181ff8f4543cc00db9fe9b6fb7e6f032b7eb772c72ab1ec1b4d2e03b936997989361048f93888094338452838352038683205583600254036002556000805160206110c18339815191528651918583523392a3610e4a82600954610cc8565b6009553390610f39565b0390a1565b875163391434e360e21b81529081906108959088903360048501610caa565b8651634b637e8f60e11b815260048101839052602490fd5b60649087519062461bcd60e51b8252600482015260176024820152761a5b9cdd59999a58da595b9d0b58dbdb1b185d195c985b604a1b6044820152fd5b90508181813d8311610ef3575b610ee48183610a6b565b81010312610279575138610dc4565b503d610eda565b88513d85823e3d90fd5b8551631e9acf1760e31b8152600490fd5b604051631f2a200560e01b8152600490fd5b604051631440798b60e01b8152600490fd5b610f5b92604051938491602083019463a9059cbb60e01b865260248401610d0e565b0390610f6f601f1992838101865285610a6b565b60018060a01b031692600080938192519082875af13d15611030573d6001600160401b03811161101c5790610fc49291610fb4602060405194601f8401160184610a6b565b82523d84602084013e5b8461103d565b908151918215159283610ff4575b505050610fdc5750565b60249060405190635274afe760e01b82526004820152fd5b8192935090602091810103126102b85760200151908115918215036101fd5750388080610fd2565b634e487b7160e01b84526041600452602484fd5b610fc49150606090610fbe565b90611064575080511561105257805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580611097575b611075575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561106d56fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212208465edc2c01521a8d63acbc42519b33cfd59e6dce213fca82c7cce19d164b74e64736f6c63430008140033",
714
- "deployedBytecode": "0x60806040908082526004908136101561001757600080fd5b600091823560e01c91826302458c74146109815750816306fdde0314610963578163095ea7b3146108b857816318160ddd1461089957816323b872dd146107af5781632f4350c214610781578163313ce567146106c857816340c10f191461060757816368266e1b146105e857816370a08231146105b1578163715018a6146105665781637158da7c146105225781637d9f6db5146104f95781638da5cb5b146104d057816395d89b411461049f578163a6880e4114610410578163a9059cbb146103df578163af920582146103a1578163b8c6f57914610333578163db006a7514610305578163dd62ed3e146102bc578163e593bd741461027d578163f2fde38b14610200575063fbbf93a01461012e57600080fd5b346101fd57806003193601126101fd576060809183519061014e82610a3a565b808252602082015281848201520152610165610a8e565b6101f9610170610b5c565b6101e684519361017f85610a3a565b30855260208501957f000000000000000000000000000000000000000000000000000000000000000087528086019182526060860193845280519687966020885260018060a01b0390511660208801525190860152516080606086015260a085019061099d565b9051838203601f1901608085015261099d565b0390f35b80fd5b839150346102795760203660031901126102795761021c6109dd565b90610225610a0e565b6001600160a01b03918216928315610263575050600580546001600160a01b031981168417909155166000805160206110a18339815191528380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8280fd5b8284346102b857816003193601126102b857602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5080fd5b8284346102b857806003193601126102b857806020926102da6109dd565b6102e26109f8565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b9050346102b85760203660031901126102b85761032b90610324610ceb565b3533610d29565b600160065580f35b839150346102795760203660031901126102795761034f6109dd565b90610358610a0e565b6001600160a01b03918216928315610394576007549283166103875750506001600160a01b0319161760075580f35b516351a05b4d60e01b8152fd5b5163e6c4247b60e01b8152fd5b8284346102b857816003193601126102b857602090517f00000000000000000000000000000000000000000000000000000000000000004210158152f35b8284346102b857806003193601126102b8576020906104096103ff6109dd565b6024359033610bf3565b5160018152f35b8284346102b857806003193601126102b8577fd3a735f71fc85ae657682ad3c7ea1d86c2907dfa17288c9bd57d0c3eea2f7b2d9061044c6109dd565b6104996024359261045b610a0e565b61048f84847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f39565b5192839283610d0e565b0390a180f35b8284346102b857816003193601126102b8576101f9906104bd610b5c565b905191829160208352602083019061099d565b8284346102b857816003193601126102b85760055490516001600160a01b039091168152602090f35b8284346102b857816003193601126102b85760075490516001600160a01b039091168152602090f35b8284346102b857816003193601126102b857517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b82346101fd57806003193601126101fd5761057f610a0e565b600580546001600160a01b0319811690915581906001600160a01b03166000805160206110a18339815191528280a380f35b8284346102b85760203660031901126102b85760209181906001600160a01b036105d96109dd565b16815280845220549051908152f35b8284346102b857816003193601126102b8576020906008549051908152f35b9050346102b857826003193601126102b8576106216109dd565b60075460243592916001600160a01b0391821633036106b85783156106a857169081156106915750826000805160206110c1833981519152602061068b959661066c86600254610cc8565b60025584845283825280842086815401905551858152a3600854610cc8565b60085580f35b845163ec442f0560e01b8152908101849052602490fd5b8551631f2a200560e01b81528390fd5b8551633fbfe96d60e01b81528390fd5b8383346101fd57806003193601126101fd57815163313ce56760e01b8152926020908490817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa928315610775578193610734575b60208460ff855191168152f35b9092506020813d821161076d575b8161074f60209383610a6b565b8101031261027957519160ff831683036101fd575060ff6020610727565b3d9150610742565b509051903d90823e3d90fd5b8284346102b857816003193601126102b85761032b9061079f610ceb565b3383528260205282205433610d29565b919050346101fd5760603660031901126101fd576107cb6109dd565b6107d36109f8565b916044359360018060a01b03831680835260016020528683203384526020528683205491600019830361080f575b602088610409898989610bf3565b8683106108775781156108605733156108495750825260016020908152868320338452815291869020908590039055829061040938610801565b8751634a1406b160e11b8152908101849052602490fd5b875163e602df0560e01b8152908101849052602490fd5b9050610895868851938493637dc7a0d960e11b855233908501610caa565b0390fd5b8284346102b857816003193601126102b8576020906002549051908152f35b839150346102795781600319360112610279576108d36109dd565b60243590331561094c576001600160a01b031691821561093557508083602095338152600187528181208582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b8351634a1406b160e11b8152908101859052602490fd5b835163e602df0560e01b8152808401869052602490fd5b8284346102b857816003193601126102b8576101f9906104bd610a8e565b8390346102b857816003193601126102b8576020906009548152f35b919082519283825260005b8481106109c9575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016109a8565b600435906001600160a01b03821682036109f357565b600080fd5b602435906001600160a01b03821682036109f357565b6005546001600160a01b03163303610a2257565b60405163118cdaa760e01b8152336004820152602490fd5b608081019081106001600160401b03821117610a5557604052565b634e487b7160e01b600052604160045260246000fd5b601f909101601f19168101906001600160401b03821190821017610a5557604052565b60405190600060035490600182811c90808416938415610b52575b6020948584108114610b3e5783885287949392918115610b1e5750600114610adc575b5050610ada92500383610a6b565b565b90939150600360005281600020936000915b818310610b06575050610ada93508201013880610acc565b85548884018501529485019487945091830191610aee565b915050610ada94925060ff191682840152151560051b8201013880610acc565b634e487b7160e01b85526022600452602485fd5b91607f1691610aa9565b60405190600060045490600182811c90808416938415610be9575b6020948584108114610b3e5783885287949392918115610b1e5750600114610ba7575050610ada92500383610a6b565b90939150600460005281600020936000915b818310610bd1575050610ada93508201013880610acc565b85548884018501529485019487945091830191610bb9565b91607f1691610b77565b916001600160a01b03808416928315610c915716928315610c785760009083825281602052604082205490838210610c5b575091604082826000805160206110c1833981519152958760209652828652038282205586815220818154019055604051908152a3565b6108958460405193849363391434e360e21b855260048501610caa565b60405163ec442f0560e01b815260006004820152602490fd5b604051634b637e8f60e11b815260006004820152602490fd5b604091949392606082019560018060a01b0316825260208201520152565b91908201809211610cd557565b634e487b7160e01b600052601160045260246000fd5b600260065414610cfc576002600655565b604051633ee5aeb560e01b8152600490fd5b6001600160a01b039091168152602081019190915260400190565b91907f00000000000000000000000000000000000000000000000000000000000000004210610f27578015610f15576000923384526020848152604094858120548411610f045785516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031692908181602481875afa908115610efa578391610ecd575b5060025411610e90573315610e785733825281815286822054858110610e5957610e54937f4896181ff8f4543cc00db9fe9b6fb7e6f032b7eb772c72ab1ec1b4d2e03b936997989361048f93888094338452838352038683205583600254036002556000805160206110c18339815191528651918583523392a3610e4a82600954610cc8565b6009553390610f39565b0390a1565b875163391434e360e21b81529081906108959088903360048501610caa565b8651634b637e8f60e11b815260048101839052602490fd5b60649087519062461bcd60e51b8252600482015260176024820152761a5b9cdd59999a58da595b9d0b58dbdb1b185d195c985b604a1b6044820152fd5b90508181813d8311610ef3575b610ee48183610a6b565b81010312610279575138610dc4565b503d610eda565b88513d85823e3d90fd5b8551631e9acf1760e31b8152600490fd5b604051631f2a200560e01b8152600490fd5b604051631440798b60e01b8152600490fd5b610f5b92604051938491602083019463a9059cbb60e01b865260248401610d0e565b0390610f6f601f1992838101865285610a6b565b60018060a01b031692600080938192519082875af13d15611030573d6001600160401b03811161101c5790610fc49291610fb4602060405194601f8401160184610a6b565b82523d84602084013e5b8461103d565b908151918215159283610ff4575b505050610fdc5750565b60249060405190635274afe760e01b82526004820152fd5b8192935090602091810103126102b85760200151908115918215036101fd5750388080610fd2565b634e487b7160e01b84526041600452602484fd5b610fc49150606090610fbe565b90611064575080511561105257805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580611097575b611075575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561106d56fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212208465edc2c01521a8d63acbc42519b33cfd59e6dce213fca82c7cce19d164b74e64736f6c63430008140033",
713
+ "bytecode": "0x60c0604052346200043057620015f9803803806200001d8162000435565b928339810160a082820312620004305762000038826200045b565b602080840151604085015190949192906001600160401b03908181116200043057856200006791850162000470565b9460608401519082821162000430576200008a6080916200009293870162000470565b94016200045b565b92855182811162000330576003918254916001988984811c9416801562000425575b898510146200040f578190601f94858111620003b9575b508990858311600114620003525760009262000346575b505060001982861b1c191690891b1783555b8051938411620003305760049687548981811c9116801562000325575b828210146200031057908184879695949311620002b4575b50809285116001146200024657506000936200023a575b505082871b92600019911b1c19161783555b6001600160a01b039182169384156200022257600580546001600160a01b031981168717909155604051959084167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a360065516918215801562000219575b6200020d57505060805260a0526040516111169081620004e3823960805181818161046201528181610537015281816106ef0152610d84015260a05181818161018901528181610295015281816103b90152610d2d0152f35b63e6c4247b60e01b8152fd5b506000620001b4565b604051631e4fbdf760e01b8152600081860152602490fd5b01519150388062000140565b929190899550601f1985168960005284600020946000905b8282106200029a57505085116200027f575b50505050811b01835562000152565b01519060f884600019921b161c191690553880808062000270565b8484015187558c989096019593840193908101906200025e565b90919293945088600052816000208480880160051c82019284891062000306575b918c91899897969594930160051c01915b828110620002f657505062000129565b600081558897508c9101620002e6565b92508192620002d5565b602289634e487b7160e01b6000525260246000fd5b90607f169062000111565b634e487b7160e01b600052604160045260246000fd5b015190503880620000e2565b908b9350601f19831691876000528b6000209260005b8d828210620003a2575050841162000389575b505050811b018355620000f4565b015160001983881b60f8161c191690553880806200037b565b8385015186558f9790950194938401930162000368565b90915085600052896000208580850160051c8201928c861062000405575b918d91869594930160051c01915b828110620003f5575050620000cb565b600081558594508d9101620003e5565b92508192620003d7565b634e487b7160e01b600052602260045260246000fd5b93607f1693620000b4565b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200033057604052565b51906001600160a01b03821682036200043057565b919080601f84011215620004305782516001600160401b0381116200033057602090620004a6601f8201601f1916830162000435565b92818452828287010111620004305760005b818110620004ce57508260009394955001015290565b8581018301518482018401528201620004b856fe60806040908082526004908136101561001757600080fd5b600091823560e01c91826302458c74146109815750816306fdde0314610963578163095ea7b3146108b857816318160ddd1461089957816323b872dd146107af5781632f4350c214610781578163313ce567146106c857816340c10f191461060757816368266e1b146105e857816370a08231146105b1578163715018a6146105665781637158da7c146105225781637d9f6db5146104f95781638da5cb5b146104d057816395d89b411461049f578163a6880e4114610410578163a9059cbb146103df578163af920582146103a1578163b8c6f57914610333578163db006a7514610305578163dd62ed3e146102bc578163e593bd741461027d578163f2fde38b14610200575063fbbf93a01461012e57600080fd5b346101fd57806003193601126101fd576060809183519061014e82610a3a565b808252602082015281848201520152610165610a8e565b6101f9610170610b5c565b6101e684519361017f85610a3a565b30855260208501957f000000000000000000000000000000000000000000000000000000000000000087528086019182526060860193845280519687966020885260018060a01b0390511660208801525190860152516080606086015260a085019061099d565b9051838203601f1901608085015261099d565b0390f35b80fd5b839150346102795760203660031901126102795761021c6109dd565b90610225610a0e565b6001600160a01b03918216928315610263575050600580546001600160a01b031981168417909155166000805160206110a18339815191528380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8280fd5b8284346102b857816003193601126102b857602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5080fd5b8284346102b857806003193601126102b857806020926102da6109dd565b6102e26109f8565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b9050346102b85760203660031901126102b85761032b90610324610ceb565b3533610d29565b600160065580f35b839150346102795760203660031901126102795761034f6109dd565b90610358610a0e565b6001600160a01b03918216928315610394576007549283166103875750506001600160a01b0319161760075580f35b516351a05b4d60e01b8152fd5b5163e6c4247b60e01b8152fd5b8284346102b857816003193601126102b857602090517f00000000000000000000000000000000000000000000000000000000000000004210158152f35b8284346102b857806003193601126102b8576020906104096103ff6109dd565b6024359033610bf3565b5160018152f35b8284346102b857806003193601126102b8577fd3a735f71fc85ae657682ad3c7ea1d86c2907dfa17288c9bd57d0c3eea2f7b2d9061044c6109dd565b6104996024359261045b610a0e565b61048f84847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f39565b5192839283610d0e565b0390a180f35b8284346102b857816003193601126102b8576101f9906104bd610b5c565b905191829160208352602083019061099d565b8284346102b857816003193601126102b85760055490516001600160a01b039091168152602090f35b8284346102b857816003193601126102b85760075490516001600160a01b039091168152602090f35b8284346102b857816003193601126102b857517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b82346101fd57806003193601126101fd5761057f610a0e565b600580546001600160a01b0319811690915581906001600160a01b03166000805160206110a18339815191528280a380f35b8284346102b85760203660031901126102b85760209181906001600160a01b036105d96109dd565b16815280845220549051908152f35b8284346102b857816003193601126102b8576020906008549051908152f35b9050346102b857826003193601126102b8576106216109dd565b60075460243592916001600160a01b0391821633036106b85783156106a857169081156106915750826000805160206110c1833981519152602061068b959661066c86600254610cc8565b60025584845283825280842086815401905551858152a3600854610cc8565b60085580f35b845163ec442f0560e01b8152908101849052602490fd5b8551631f2a200560e01b81528390fd5b8551633fbfe96d60e01b81528390fd5b8383346101fd57806003193601126101fd57815163313ce56760e01b8152926020908490817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa928315610775578193610734575b60208460ff855191168152f35b9092506020813d821161076d575b8161074f60209383610a6b565b8101031261027957519160ff831683036101fd575060ff6020610727565b3d9150610742565b509051903d90823e3d90fd5b8284346102b857816003193601126102b85761032b9061079f610ceb565b3383528260205282205433610d29565b919050346101fd5760603660031901126101fd576107cb6109dd565b6107d36109f8565b916044359360018060a01b03831680835260016020528683203384526020528683205491600019830361080f575b602088610409898989610bf3565b8683106108775781156108605733156108495750825260016020908152868320338452815291869020908590039055829061040938610801565b8751634a1406b160e11b8152908101849052602490fd5b875163e602df0560e01b8152908101849052602490fd5b9050610895868851938493637dc7a0d960e11b855233908501610caa565b0390fd5b8284346102b857816003193601126102b8576020906002549051908152f35b839150346102795781600319360112610279576108d36109dd565b60243590331561094c576001600160a01b031691821561093557508083602095338152600187528181208582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b8351634a1406b160e11b8152908101859052602490fd5b835163e602df0560e01b8152808401869052602490fd5b8284346102b857816003193601126102b8576101f9906104bd610a8e565b8390346102b857816003193601126102b8576020906009548152f35b919082519283825260005b8481106109c9575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016109a8565b600435906001600160a01b03821682036109f357565b600080fd5b602435906001600160a01b03821682036109f357565b6005546001600160a01b03163303610a2257565b60405163118cdaa760e01b8152336004820152602490fd5b608081019081106001600160401b03821117610a5557604052565b634e487b7160e01b600052604160045260246000fd5b601f909101601f19168101906001600160401b03821190821017610a5557604052565b60405190600060035490600182811c90808416938415610b52575b6020948584108114610b3e5783885287949392918115610b1e5750600114610adc575b5050610ada92500383610a6b565b565b90939150600360005281600020936000915b818310610b06575050610ada93508201013880610acc565b85548884018501529485019487945091830191610aee565b915050610ada94925060ff191682840152151560051b8201013880610acc565b634e487b7160e01b85526022600452602485fd5b91607f1691610aa9565b60405190600060045490600182811c90808416938415610be9575b6020948584108114610b3e5783885287949392918115610b1e5750600114610ba7575050610ada92500383610a6b565b90939150600460005281600020936000915b818310610bd1575050610ada93508201013880610acc565b85548884018501529485019487945091830191610bb9565b91607f1691610b77565b916001600160a01b03808416928315610c915716928315610c785760009083825281602052604082205490838210610c5b575091604082826000805160206110c1833981519152958760209652828652038282205586815220818154019055604051908152a3565b6108958460405193849363391434e360e21b855260048501610caa565b60405163ec442f0560e01b815260006004820152602490fd5b604051634b637e8f60e11b815260006004820152602490fd5b604091949392606082019560018060a01b0316825260208201520152565b91908201809211610cd557565b634e487b7160e01b600052601160045260246000fd5b600260065414610cfc576002600655565b604051633ee5aeb560e01b8152600490fd5b6001600160a01b039091168152602081019190915260400190565b91907f00000000000000000000000000000000000000000000000000000000000000004210610f27578015610f15576000923384526020848152604094858120548411610f045785516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031692908181602481875afa908115610efa578391610ecd575b5060025411610e90573315610e785733825281815286822054858110610e5957610e54937f4896181ff8f4543cc00db9fe9b6fb7e6f032b7eb772c72ab1ec1b4d2e03b936997989361048f93888094338452838352038683205583600254036002556000805160206110c18339815191528651918583523392a3610e4a82600954610cc8565b6009553390610f39565b0390a1565b875163391434e360e21b81529081906108959088903360048501610caa565b8651634b637e8f60e11b815260048101839052602490fd5b60649087519062461bcd60e51b8252600482015260176024820152761a5b9cdd59999a58da595b9d0b58dbdb1b185d195c985b604a1b6044820152fd5b90508181813d8311610ef3575b610ee48183610a6b565b81010312610279575138610dc4565b503d610eda565b88513d85823e3d90fd5b8551631e9acf1760e31b8152600490fd5b604051631f2a200560e01b8152600490fd5b604051631440798b60e01b8152600490fd5b610f5b92604051938491602083019463a9059cbb60e01b865260248401610d0e565b0390610f6f601f1992838101865285610a6b565b60018060a01b031692600080938192519082875af13d15611030573d6001600160401b03811161101c5790610fc49291610fb4602060405194601f8401160184610a6b565b82523d84602084013e5b8461103d565b908151918215159283610ff4575b505050610fdc5750565b60249060405190635274afe760e01b82526004820152fd5b8192935090602091810103126102b85760200151908115918215036101fd5750388080610fd2565b634e487b7160e01b84526041600452602484fd5b610fc49150606090610fbe565b90611064575080511561105257805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580611097575b611075575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561106d56fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220cc51d1c52a0466209a7e4b9f098074ea6f4d475efdc4bab77b37f1fea86df4f964736f6c63430008140033",
714
+ "deployedBytecode": "0x60806040908082526004908136101561001757600080fd5b600091823560e01c91826302458c74146109815750816306fdde0314610963578163095ea7b3146108b857816318160ddd1461089957816323b872dd146107af5781632f4350c214610781578163313ce567146106c857816340c10f191461060757816368266e1b146105e857816370a08231146105b1578163715018a6146105665781637158da7c146105225781637d9f6db5146104f95781638da5cb5b146104d057816395d89b411461049f578163a6880e4114610410578163a9059cbb146103df578163af920582146103a1578163b8c6f57914610333578163db006a7514610305578163dd62ed3e146102bc578163e593bd741461027d578163f2fde38b14610200575063fbbf93a01461012e57600080fd5b346101fd57806003193601126101fd576060809183519061014e82610a3a565b808252602082015281848201520152610165610a8e565b6101f9610170610b5c565b6101e684519361017f85610a3a565b30855260208501957f000000000000000000000000000000000000000000000000000000000000000087528086019182526060860193845280519687966020885260018060a01b0390511660208801525190860152516080606086015260a085019061099d565b9051838203601f1901608085015261099d565b0390f35b80fd5b839150346102795760203660031901126102795761021c6109dd565b90610225610a0e565b6001600160a01b03918216928315610263575050600580546001600160a01b031981168417909155166000805160206110a18339815191528380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8280fd5b8284346102b857816003193601126102b857602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5080fd5b8284346102b857806003193601126102b857806020926102da6109dd565b6102e26109f8565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b9050346102b85760203660031901126102b85761032b90610324610ceb565b3533610d29565b600160065580f35b839150346102795760203660031901126102795761034f6109dd565b90610358610a0e565b6001600160a01b03918216928315610394576007549283166103875750506001600160a01b0319161760075580f35b516351a05b4d60e01b8152fd5b5163e6c4247b60e01b8152fd5b8284346102b857816003193601126102b857602090517f00000000000000000000000000000000000000000000000000000000000000004210158152f35b8284346102b857806003193601126102b8576020906104096103ff6109dd565b6024359033610bf3565b5160018152f35b8284346102b857806003193601126102b8577fd3a735f71fc85ae657682ad3c7ea1d86c2907dfa17288c9bd57d0c3eea2f7b2d9061044c6109dd565b6104996024359261045b610a0e565b61048f84847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f39565b5192839283610d0e565b0390a180f35b8284346102b857816003193601126102b8576101f9906104bd610b5c565b905191829160208352602083019061099d565b8284346102b857816003193601126102b85760055490516001600160a01b039091168152602090f35b8284346102b857816003193601126102b85760075490516001600160a01b039091168152602090f35b8284346102b857816003193601126102b857517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b82346101fd57806003193601126101fd5761057f610a0e565b600580546001600160a01b0319811690915581906001600160a01b03166000805160206110a18339815191528280a380f35b8284346102b85760203660031901126102b85760209181906001600160a01b036105d96109dd565b16815280845220549051908152f35b8284346102b857816003193601126102b8576020906008549051908152f35b9050346102b857826003193601126102b8576106216109dd565b60075460243592916001600160a01b0391821633036106b85783156106a857169081156106915750826000805160206110c1833981519152602061068b959661066c86600254610cc8565b60025584845283825280842086815401905551858152a3600854610cc8565b60085580f35b845163ec442f0560e01b8152908101849052602490fd5b8551631f2a200560e01b81528390fd5b8551633fbfe96d60e01b81528390fd5b8383346101fd57806003193601126101fd57815163313ce56760e01b8152926020908490817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa928315610775578193610734575b60208460ff855191168152f35b9092506020813d821161076d575b8161074f60209383610a6b565b8101031261027957519160ff831683036101fd575060ff6020610727565b3d9150610742565b509051903d90823e3d90fd5b8284346102b857816003193601126102b85761032b9061079f610ceb565b3383528260205282205433610d29565b919050346101fd5760603660031901126101fd576107cb6109dd565b6107d36109f8565b916044359360018060a01b03831680835260016020528683203384526020528683205491600019830361080f575b602088610409898989610bf3565b8683106108775781156108605733156108495750825260016020908152868320338452815291869020908590039055829061040938610801565b8751634a1406b160e11b8152908101849052602490fd5b875163e602df0560e01b8152908101849052602490fd5b9050610895868851938493637dc7a0d960e11b855233908501610caa565b0390fd5b8284346102b857816003193601126102b8576020906002549051908152f35b839150346102795781600319360112610279576108d36109dd565b60243590331561094c576001600160a01b031691821561093557508083602095338152600187528181208582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b8351634a1406b160e11b8152908101859052602490fd5b835163e602df0560e01b8152808401869052602490fd5b8284346102b857816003193601126102b8576101f9906104bd610a8e565b8390346102b857816003193601126102b8576020906009548152f35b919082519283825260005b8481106109c9575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016109a8565b600435906001600160a01b03821682036109f357565b600080fd5b602435906001600160a01b03821682036109f357565b6005546001600160a01b03163303610a2257565b60405163118cdaa760e01b8152336004820152602490fd5b608081019081106001600160401b03821117610a5557604052565b634e487b7160e01b600052604160045260246000fd5b601f909101601f19168101906001600160401b03821190821017610a5557604052565b60405190600060035490600182811c90808416938415610b52575b6020948584108114610b3e5783885287949392918115610b1e5750600114610adc575b5050610ada92500383610a6b565b565b90939150600360005281600020936000915b818310610b06575050610ada93508201013880610acc565b85548884018501529485019487945091830191610aee565b915050610ada94925060ff191682840152151560051b8201013880610acc565b634e487b7160e01b85526022600452602485fd5b91607f1691610aa9565b60405190600060045490600182811c90808416938415610be9575b6020948584108114610b3e5783885287949392918115610b1e5750600114610ba7575050610ada92500383610a6b565b90939150600460005281600020936000915b818310610bd1575050610ada93508201013880610acc565b85548884018501529485019487945091830191610bb9565b91607f1691610b77565b916001600160a01b03808416928315610c915716928315610c785760009083825281602052604082205490838210610c5b575091604082826000805160206110c1833981519152958760209652828652038282205586815220818154019055604051908152a3565b6108958460405193849363391434e360e21b855260048501610caa565b60405163ec442f0560e01b815260006004820152602490fd5b604051634b637e8f60e11b815260006004820152602490fd5b604091949392606082019560018060a01b0316825260208201520152565b91908201809211610cd557565b634e487b7160e01b600052601160045260246000fd5b600260065414610cfc576002600655565b604051633ee5aeb560e01b8152600490fd5b6001600160a01b039091168152602081019190915260400190565b91907f00000000000000000000000000000000000000000000000000000000000000004210610f27578015610f15576000923384526020848152604094858120548411610f045785516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031692908181602481875afa908115610efa578391610ecd575b5060025411610e90573315610e785733825281815286822054858110610e5957610e54937f4896181ff8f4543cc00db9fe9b6fb7e6f032b7eb772c72ab1ec1b4d2e03b936997989361048f93888094338452838352038683205583600254036002556000805160206110c18339815191528651918583523392a3610e4a82600954610cc8565b6009553390610f39565b0390a1565b875163391434e360e21b81529081906108959088903360048501610caa565b8651634b637e8f60e11b815260048101839052602490fd5b60649087519062461bcd60e51b8252600482015260176024820152761a5b9cdd59999a58da595b9d0b58dbdb1b185d195c985b604a1b6044820152fd5b90508181813d8311610ef3575b610ee48183610a6b565b81010312610279575138610dc4565b503d610eda565b88513d85823e3d90fd5b8551631e9acf1760e31b8152600490fd5b604051631f2a200560e01b8152600490fd5b604051631440798b60e01b8152600490fd5b610f5b92604051938491602083019463a9059cbb60e01b865260248401610d0e565b0390610f6f601f1992838101865285610a6b565b60018060a01b031692600080938192519082875af13d15611030573d6001600160401b03811161101c5790610fc49291610fb4602060405194601f8401160184610a6b565b82523d84602084013e5b8461103d565b908151918215159283610ff4575b505050610fdc5750565b60249060405190635274afe760e01b82526004820152fd5b8192935090602091810103126102b85760200151908115918215036101fd5750388080610fd2565b634e487b7160e01b84526041600452602484fd5b610fc49150606090610fbe565b90611064575080511561105257805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580611097575b611075575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561106d56fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220cc51d1c52a0466209a7e4b9f098074ea6f4d475efdc4bab77b37f1fea86df4f964736f6c63430008140033",
715
715
  "linkReferences": {},
716
716
  "deployedLinkReferences": {}
717
717
  }
@@ -283,8 +283,8 @@
283
283
  "type": "function"
284
284
  }
285
285
  ],
286
- "bytecode": "0x6080346100bb57601f6121f738819003918201601f19168301916001600160401b038311848410176100c0578084926020946040528339810103126100bb57516001600160a01b0390818116908190036100bb5780156100a257600080546001600160a01b03198116831782556040519316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a361212090816100d78239f35b604051631e4fbdf760e01b815260006004820152602490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe608060408181526004803610156200001657600080fd5b600092833560e01c90816303dc4d31146200090c5750806313afa5f414620008c757806338f343a0146200080457806358a52c4d14620006685780636e2eca67146200057d578063715018a6146200052d5780638da5cb5b14620005035780638f723f5014620001905780639d8dad70146200016f578063c4eb0a9e14620001295763f2fde38b14620000a857600080fd5b34620001255760203660031901126200012557620000c5620009c9565b90620000d0620009e5565b6001600160a01b039182169283156200010f5750506000548260018060a01b031982161760005516600080516020620020cb833981519152600080a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8280fd5b5050346200016b5760203660031901126200016b5760209160ff9082906001600160a01b0362000158620009c9565b1681526002855220541690519015158152f35b5080fd5b5050346200016b57816003193601126200016b576020906001549051908152f35b509190346200016b57806003193601126200016b57620001af620009c9565b6024803590620001be620009e5565b42821115620004f3576001908154828101809111620004e15786929190819087858272184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8181811015620004d3575b506904ee2d6d415b85acef8160201b905080851015620004c3575b50662386f26fc1000080851015620004b3575b506305f5e10080851015620004a3575b508c6127108086101562000493575b5050606484101562000482575b86600a8095101562000477575b6021620002948285016200028b620002818262000a68565b9751978862000a44565b80875262000a68565b60209a868c019591601f190136873750850101905b62000446575b50509262000327916200031794620002f9602a8d51966902d22a727902137b732160b51b8c890152878551620002e981858401886200097d565b8101039081018852018662000a44565b8b51958692635a454e4f60e01b8b850152518092858501906200097d565b8101038c81018552018362000a44565b8751916115f980840192906001600160401b038411858510176200043457916200037c6200038b9286959462000ad287396001600160a01b039b8c1685528985018b905260a08d8601819052850190620009a2565b908382036060850152620009a2565b90608030910152039088f09081156200042a57825498600160401b8a10156200041957505084620003e389847f17f5b23f56b82f5b57d5d479ac000c3cce25009efb7195be1720e72c1be7d79b9a9b0185556200094b565b969092169582549060031b9187831b921b1916179055838752600282528487209060ff198254161790558351928352820152a180f35b634e487b7160e01b89526041905287fd5b86513d89823e3d90fd5b634e487b7160e01b8c5260418d52858cfd5b600019019084906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304908782620002a95750620002af565b909101908662000269565b90926064600291049301906200025c565b90919294049301908c386200024f565b6008919294049301903862000240565b6010919294049301903862000230565b602091929404930190386200021d565b049350829150388062000202565b50634e487b7160e01b86526011875285fd5b8351633085aae960e01b81528690fd5b5050346200016b57816003193601126200016b57905490516001600160a01b039091168152602090f35b83346200057a57806003193601126200057a576200054a620009e5565b600080546001600160a01b0319811682556001600160a01b0316600080516020620020cb8339815191528280a380f35b80fd5b509190346200016b57806003193601126200016b578235926024356001600160a01b03818116918290036200064457620005b6620009e5565b600154861015620006585781156200064857620005d485966200094b565b90549060031b1c16803b156200064457602485928551968793849263f2fde38b60e01b8452878401525af180156200063a576200060f578380f35b6001600160401b038311620006275750523880808380f35b634e487b7160e01b845260419052602483fd5b82513d86823e3d90fd5b8480fd5b835163d92e233d60e01b81528390fd5b83516363df817160e01b81528390fd5b509190346200016b57602092836003193601126200012557815181356200068f8262000a12565b84825284868301526060808381878196015201526001548110156200065857620006ba85916200094b565b905485516307ddfc9d60e51b81526001600160a01b0397909590928692839160031b1c89165afa928315620007f85781936200073f575b505062000726836200073b9451968796818852855116818801528401518187015283015160808387015260a0860190620009a2565b910151838203601f19016080850152620009a2565b0390f35b909192503d8083833e62000754818362000a44565b8101908681830312620001255780516001600160401b0391828211620006445701608081840312620007f4578551936200078e8562000a12565b815188811681036200016b5785528882015189860152868201518381116200016b5784620007be91840162000a84565b87860152858201519283116200057a575062000726926200073b96959492620007e8920162000a84565b838201529293620006f1565b8380fd5b508351903d90823e3d90fd5b5050346200016b57816003193601126200016b5780516001805480835281855260208084019592939186907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf690855b818110620008aa57505050826200086c91038362000a44565b8451948186019282875251809352850195925b8281106200088d5785870386f35b83516001600160a01b03168752958101959281019284016200087f565b82546001600160a01b031684529284019291870191870162000853565b503462000125576020366003190112620001255735916001548310156200057a5750620008f66020926200094b565b905491519160018060a01b039160031b1c168152f35b939050346200057a5760203660031901126200057a57508035926001548410156200093f57602083620008f6866200094b565b6363df817160e01b8152fd5b6001548110156200096757600160005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b60005b838110620009915750506000910152565b818101518382015260200162000980565b90602091620009bd815180928185528580860191016200097d565b601f01601f1916010190565b600435906001600160a01b0382168203620009e057565b600080fd5b6000546001600160a01b03163303620009fa57565b60405163118cdaa760e01b8152336004820152602490fd5b608081019081106001600160401b0382111762000a2e57604052565b634e487b7160e01b600052604160045260246000fd5b601f909101601f19168101906001600160401b0382119082101762000a2e57604052565b6001600160401b03811162000a2e57601f01601f191660200190565b81601f82011215620009e057805162000a9d8162000a68565b9262000aad604051948562000a44565b81845260208284010111620009e05762000ace91602080850191016200097d565b9056fe60c0604052346200043057620015f9803803806200001d8162000435565b928339810160a082820312620004305762000038826200045b565b602080840151604085015190949192906001600160401b03908181116200043057856200006791850162000470565b9460608401519082821162000430576200008a6080916200009293870162000470565b94016200045b565b92855182811162000330576003918254916001988984811c9416801562000425575b898510146200040f578190601f94858111620003b9575b508990858311600114620003525760009262000346575b505060001982861b1c191690891b1783555b8051938411620003305760049687548981811c9116801562000325575b828210146200031057908184879695949311620002b4575b50809285116001146200024657506000936200023a575b505082871b92600019911b1c19161783555b6001600160a01b039182169384156200022257600580546001600160a01b031981168717909155604051959084167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a360065516918215801562000219575b6200020d57505060805260a0526040516111169081620004e3823960805181818161046201528181610537015281816106ef0152610d84015260a05181818161018901528181610295015281816103b90152610d2d0152f35b63e6c4247b60e01b8152fd5b506000620001b4565b604051631e4fbdf760e01b8152600081860152602490fd5b01519150388062000140565b929190899550601f1985168960005284600020946000905b8282106200029a57505085116200027f575b50505050811b01835562000152565b01519060f884600019921b161c191690553880808062000270565b8484015187558c989096019593840193908101906200025e565b90919293945088600052816000208480880160051c82019284891062000306575b918c91899897969594930160051c01915b828110620002f657505062000129565b600081558897508c9101620002e6565b92508192620002d5565b602289634e487b7160e01b6000525260246000fd5b90607f169062000111565b634e487b7160e01b600052604160045260246000fd5b015190503880620000e2565b908b9350601f19831691876000528b6000209260005b8d828210620003a2575050841162000389575b505050811b018355620000f4565b015160001983881b60f8161c191690553880806200037b565b8385015186558f9790950194938401930162000368565b90915085600052896000208580850160051c8201928c861062000405575b918d91869594930160051c01915b828110620003f5575050620000cb565b600081558594508d9101620003e5565b92508192620003d7565b634e487b7160e01b600052602260045260246000fd5b93607f1693620000b4565b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200033057604052565b51906001600160a01b03821682036200043057565b919080601f84011215620004305782516001600160401b0381116200033057602090620004a6601f8201601f1916830162000435565b92818452828287010111620004305760005b818110620004ce57508260009394955001015290565b8581018301518482018401528201620004b856fe60806040908082526004908136101561001757600080fd5b600091823560e01c91826302458c74146109815750816306fdde0314610963578163095ea7b3146108b857816318160ddd1461089957816323b872dd146107af5781632f4350c214610781578163313ce567146106c857816340c10f191461060757816368266e1b146105e857816370a08231146105b1578163715018a6146105665781637158da7c146105225781637d9f6db5146104f95781638da5cb5b146104d057816395d89b411461049f578163a6880e4114610410578163a9059cbb146103df578163af920582146103a1578163b8c6f57914610333578163db006a7514610305578163dd62ed3e146102bc578163e593bd741461027d578163f2fde38b14610200575063fbbf93a01461012e57600080fd5b346101fd57806003193601126101fd576060809183519061014e82610a3a565b808252602082015281848201520152610165610a8e565b6101f9610170610b5c565b6101e684519361017f85610a3a565b30855260208501957f000000000000000000000000000000000000000000000000000000000000000087528086019182526060860193845280519687966020885260018060a01b0390511660208801525190860152516080606086015260a085019061099d565b9051838203601f1901608085015261099d565b0390f35b80fd5b839150346102795760203660031901126102795761021c6109dd565b90610225610a0e565b6001600160a01b03918216928315610263575050600580546001600160a01b031981168417909155166000805160206110a18339815191528380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8280fd5b8284346102b857816003193601126102b857602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5080fd5b8284346102b857806003193601126102b857806020926102da6109dd565b6102e26109f8565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b9050346102b85760203660031901126102b85761032b90610324610ceb565b3533610d29565b600160065580f35b839150346102795760203660031901126102795761034f6109dd565b90610358610a0e565b6001600160a01b03918216928315610394576007549283166103875750506001600160a01b0319161760075580f35b516351a05b4d60e01b8152fd5b5163e6c4247b60e01b8152fd5b8284346102b857816003193601126102b857602090517f00000000000000000000000000000000000000000000000000000000000000004210158152f35b8284346102b857806003193601126102b8576020906104096103ff6109dd565b6024359033610bf3565b5160018152f35b8284346102b857806003193601126102b8577fd3a735f71fc85ae657682ad3c7ea1d86c2907dfa17288c9bd57d0c3eea2f7b2d9061044c6109dd565b6104996024359261045b610a0e565b61048f84847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f39565b5192839283610d0e565b0390a180f35b8284346102b857816003193601126102b8576101f9906104bd610b5c565b905191829160208352602083019061099d565b8284346102b857816003193601126102b85760055490516001600160a01b039091168152602090f35b8284346102b857816003193601126102b85760075490516001600160a01b039091168152602090f35b8284346102b857816003193601126102b857517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b82346101fd57806003193601126101fd5761057f610a0e565b600580546001600160a01b0319811690915581906001600160a01b03166000805160206110a18339815191528280a380f35b8284346102b85760203660031901126102b85760209181906001600160a01b036105d96109dd565b16815280845220549051908152f35b8284346102b857816003193601126102b8576020906008549051908152f35b9050346102b857826003193601126102b8576106216109dd565b60075460243592916001600160a01b0391821633036106b85783156106a857169081156106915750826000805160206110c1833981519152602061068b959661066c86600254610cc8565b60025584845283825280842086815401905551858152a3600854610cc8565b60085580f35b845163ec442f0560e01b8152908101849052602490fd5b8551631f2a200560e01b81528390fd5b8551633fbfe96d60e01b81528390fd5b8383346101fd57806003193601126101fd57815163313ce56760e01b8152926020908490817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa928315610775578193610734575b60208460ff855191168152f35b9092506020813d821161076d575b8161074f60209383610a6b565b8101031261027957519160ff831683036101fd575060ff6020610727565b3d9150610742565b509051903d90823e3d90fd5b8284346102b857816003193601126102b85761032b9061079f610ceb565b3383528260205282205433610d29565b919050346101fd5760603660031901126101fd576107cb6109dd565b6107d36109f8565b916044359360018060a01b03831680835260016020528683203384526020528683205491600019830361080f575b602088610409898989610bf3565b8683106108775781156108605733156108495750825260016020908152868320338452815291869020908590039055829061040938610801565b8751634a1406b160e11b8152908101849052602490fd5b875163e602df0560e01b8152908101849052602490fd5b9050610895868851938493637dc7a0d960e11b855233908501610caa565b0390fd5b8284346102b857816003193601126102b8576020906002549051908152f35b839150346102795781600319360112610279576108d36109dd565b60243590331561094c576001600160a01b031691821561093557508083602095338152600187528181208582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b8351634a1406b160e11b8152908101859052602490fd5b835163e602df0560e01b8152808401869052602490fd5b8284346102b857816003193601126102b8576101f9906104bd610a8e565b8390346102b857816003193601126102b8576020906009548152f35b919082519283825260005b8481106109c9575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016109a8565b600435906001600160a01b03821682036109f357565b600080fd5b602435906001600160a01b03821682036109f357565b6005546001600160a01b03163303610a2257565b60405163118cdaa760e01b8152336004820152602490fd5b608081019081106001600160401b03821117610a5557604052565b634e487b7160e01b600052604160045260246000fd5b601f909101601f19168101906001600160401b03821190821017610a5557604052565b60405190600060035490600182811c90808416938415610b52575b6020948584108114610b3e5783885287949392918115610b1e5750600114610adc575b5050610ada92500383610a6b565b565b90939150600360005281600020936000915b818310610b06575050610ada93508201013880610acc565b85548884018501529485019487945091830191610aee565b915050610ada94925060ff191682840152151560051b8201013880610acc565b634e487b7160e01b85526022600452602485fd5b91607f1691610aa9565b60405190600060045490600182811c90808416938415610be9575b6020948584108114610b3e5783885287949392918115610b1e5750600114610ba7575050610ada92500383610a6b565b90939150600460005281600020936000915b818310610bd1575050610ada93508201013880610acc565b85548884018501529485019487945091830191610bb9565b91607f1691610b77565b916001600160a01b03808416928315610c915716928315610c785760009083825281602052604082205490838210610c5b575091604082826000805160206110c1833981519152958760209652828652038282205586815220818154019055604051908152a3565b6108958460405193849363391434e360e21b855260048501610caa565b60405163ec442f0560e01b815260006004820152602490fd5b604051634b637e8f60e11b815260006004820152602490fd5b604091949392606082019560018060a01b0316825260208201520152565b91908201809211610cd557565b634e487b7160e01b600052601160045260246000fd5b600260065414610cfc576002600655565b604051633ee5aeb560e01b8152600490fd5b6001600160a01b039091168152602081019190915260400190565b91907f00000000000000000000000000000000000000000000000000000000000000004210610f27578015610f15576000923384526020848152604094858120548411610f045785516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031692908181602481875afa908115610efa578391610ecd575b5060025411610e90573315610e785733825281815286822054858110610e5957610e54937f4896181ff8f4543cc00db9fe9b6fb7e6f032b7eb772c72ab1ec1b4d2e03b936997989361048f93888094338452838352038683205583600254036002556000805160206110c18339815191528651918583523392a3610e4a82600954610cc8565b6009553390610f39565b0390a1565b875163391434e360e21b81529081906108959088903360048501610caa565b8651634b637e8f60e11b815260048101839052602490fd5b60649087519062461bcd60e51b8252600482015260176024820152761a5b9cdd59999a58da595b9d0b58dbdb1b185d195c985b604a1b6044820152fd5b90508181813d8311610ef3575b610ee48183610a6b565b81010312610279575138610dc4565b503d610eda565b88513d85823e3d90fd5b8551631e9acf1760e31b8152600490fd5b604051631f2a200560e01b8152600490fd5b604051631440798b60e01b8152600490fd5b610f5b92604051938491602083019463a9059cbb60e01b865260248401610d0e565b0390610f6f601f1992838101865285610a6b565b60018060a01b031692600080938192519082875af13d15611030573d6001600160401b03811161101c5790610fc49291610fb4602060405194601f8401160184610a6b565b82523d84602084013e5b8461103d565b908151918215159283610ff4575b505050610fdc5750565b60249060405190635274afe760e01b82526004820152fd5b8192935090602091810103126102b85760200151908115918215036101fd5750388080610fd2565b634e487b7160e01b84526041600452602484fd5b610fc49150606090610fbe565b90611064575080511561105257805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580611097575b611075575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561106d56fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212208465edc2c01521a8d63acbc42519b33cfd59e6dce213fca82c7cce19d164b74e64736f6c634300081400338be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a26469706673582212208a8c2797142fc67cb308099e467152488f9bf89edb6fd739ea5204d0cbc7830164736f6c63430008140033",
287
- "deployedBytecode": "0x608060408181526004803610156200001657600080fd5b600092833560e01c90816303dc4d31146200090c5750806313afa5f414620008c757806338f343a0146200080457806358a52c4d14620006685780636e2eca67146200057d578063715018a6146200052d5780638da5cb5b14620005035780638f723f5014620001905780639d8dad70146200016f578063c4eb0a9e14620001295763f2fde38b14620000a857600080fd5b34620001255760203660031901126200012557620000c5620009c9565b90620000d0620009e5565b6001600160a01b039182169283156200010f5750506000548260018060a01b031982161760005516600080516020620020cb833981519152600080a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8280fd5b5050346200016b5760203660031901126200016b5760209160ff9082906001600160a01b0362000158620009c9565b1681526002855220541690519015158152f35b5080fd5b5050346200016b57816003193601126200016b576020906001549051908152f35b509190346200016b57806003193601126200016b57620001af620009c9565b6024803590620001be620009e5565b42821115620004f3576001908154828101809111620004e15786929190819087858272184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8181811015620004d3575b506904ee2d6d415b85acef8160201b905080851015620004c3575b50662386f26fc1000080851015620004b3575b506305f5e10080851015620004a3575b508c6127108086101562000493575b5050606484101562000482575b86600a8095101562000477575b6021620002948285016200028b620002818262000a68565b9751978862000a44565b80875262000a68565b60209a868c019591601f190136873750850101905b62000446575b50509262000327916200031794620002f9602a8d51966902d22a727902137b732160b51b8c890152878551620002e981858401886200097d565b8101039081018852018662000a44565b8b51958692635a454e4f60e01b8b850152518092858501906200097d565b8101038c81018552018362000a44565b8751916115f980840192906001600160401b038411858510176200043457916200037c6200038b9286959462000ad287396001600160a01b039b8c1685528985018b905260a08d8601819052850190620009a2565b908382036060850152620009a2565b90608030910152039088f09081156200042a57825498600160401b8a10156200041957505084620003e389847f17f5b23f56b82f5b57d5d479ac000c3cce25009efb7195be1720e72c1be7d79b9a9b0185556200094b565b969092169582549060031b9187831b921b1916179055838752600282528487209060ff198254161790558351928352820152a180f35b634e487b7160e01b89526041905287fd5b86513d89823e3d90fd5b634e487b7160e01b8c5260418d52858cfd5b600019019084906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304908782620002a95750620002af565b909101908662000269565b90926064600291049301906200025c565b90919294049301908c386200024f565b6008919294049301903862000240565b6010919294049301903862000230565b602091929404930190386200021d565b049350829150388062000202565b50634e487b7160e01b86526011875285fd5b8351633085aae960e01b81528690fd5b5050346200016b57816003193601126200016b57905490516001600160a01b039091168152602090f35b83346200057a57806003193601126200057a576200054a620009e5565b600080546001600160a01b0319811682556001600160a01b0316600080516020620020cb8339815191528280a380f35b80fd5b509190346200016b57806003193601126200016b578235926024356001600160a01b03818116918290036200064457620005b6620009e5565b600154861015620006585781156200064857620005d485966200094b565b90549060031b1c16803b156200064457602485928551968793849263f2fde38b60e01b8452878401525af180156200063a576200060f578380f35b6001600160401b038311620006275750523880808380f35b634e487b7160e01b845260419052602483fd5b82513d86823e3d90fd5b8480fd5b835163d92e233d60e01b81528390fd5b83516363df817160e01b81528390fd5b509190346200016b57602092836003193601126200012557815181356200068f8262000a12565b84825284868301526060808381878196015201526001548110156200065857620006ba85916200094b565b905485516307ddfc9d60e51b81526001600160a01b0397909590928692839160031b1c89165afa928315620007f85781936200073f575b505062000726836200073b9451968796818852855116818801528401518187015283015160808387015260a0860190620009a2565b910151838203601f19016080850152620009a2565b0390f35b909192503d8083833e62000754818362000a44565b8101908681830312620001255780516001600160401b0391828211620006445701608081840312620007f4578551936200078e8562000a12565b815188811681036200016b5785528882015189860152868201518381116200016b5784620007be91840162000a84565b87860152858201519283116200057a575062000726926200073b96959492620007e8920162000a84565b838201529293620006f1565b8380fd5b508351903d90823e3d90fd5b5050346200016b57816003193601126200016b5780516001805480835281855260208084019592939186907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf690855b818110620008aa57505050826200086c91038362000a44565b8451948186019282875251809352850195925b8281106200088d5785870386f35b83516001600160a01b03168752958101959281019284016200087f565b82546001600160a01b031684529284019291870191870162000853565b503462000125576020366003190112620001255735916001548310156200057a5750620008f66020926200094b565b905491519160018060a01b039160031b1c168152f35b939050346200057a5760203660031901126200057a57508035926001548410156200093f57602083620008f6866200094b565b6363df817160e01b8152fd5b6001548110156200096757600160005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b60005b838110620009915750506000910152565b818101518382015260200162000980565b90602091620009bd815180928185528580860191016200097d565b601f01601f1916010190565b600435906001600160a01b0382168203620009e057565b600080fd5b6000546001600160a01b03163303620009fa57565b60405163118cdaa760e01b8152336004820152602490fd5b608081019081106001600160401b0382111762000a2e57604052565b634e487b7160e01b600052604160045260246000fd5b601f909101601f19168101906001600160401b0382119082101762000a2e57604052565b6001600160401b03811162000a2e57601f01601f191660200190565b81601f82011215620009e057805162000a9d8162000a68565b9262000aad604051948562000a44565b81845260208284010111620009e05762000ace91602080850191016200097d565b9056fe60c0604052346200043057620015f9803803806200001d8162000435565b928339810160a082820312620004305762000038826200045b565b602080840151604085015190949192906001600160401b03908181116200043057856200006791850162000470565b9460608401519082821162000430576200008a6080916200009293870162000470565b94016200045b565b92855182811162000330576003918254916001988984811c9416801562000425575b898510146200040f578190601f94858111620003b9575b508990858311600114620003525760009262000346575b505060001982861b1c191690891b1783555b8051938411620003305760049687548981811c9116801562000325575b828210146200031057908184879695949311620002b4575b50809285116001146200024657506000936200023a575b505082871b92600019911b1c19161783555b6001600160a01b039182169384156200022257600580546001600160a01b031981168717909155604051959084167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a360065516918215801562000219575b6200020d57505060805260a0526040516111169081620004e3823960805181818161046201528181610537015281816106ef0152610d84015260a05181818161018901528181610295015281816103b90152610d2d0152f35b63e6c4247b60e01b8152fd5b506000620001b4565b604051631e4fbdf760e01b8152600081860152602490fd5b01519150388062000140565b929190899550601f1985168960005284600020946000905b8282106200029a57505085116200027f575b50505050811b01835562000152565b01519060f884600019921b161c191690553880808062000270565b8484015187558c989096019593840193908101906200025e565b90919293945088600052816000208480880160051c82019284891062000306575b918c91899897969594930160051c01915b828110620002f657505062000129565b600081558897508c9101620002e6565b92508192620002d5565b602289634e487b7160e01b6000525260246000fd5b90607f169062000111565b634e487b7160e01b600052604160045260246000fd5b015190503880620000e2565b908b9350601f19831691876000528b6000209260005b8d828210620003a2575050841162000389575b505050811b018355620000f4565b015160001983881b60f8161c191690553880806200037b565b8385015186558f9790950194938401930162000368565b90915085600052896000208580850160051c8201928c861062000405575b918d91869594930160051c01915b828110620003f5575050620000cb565b600081558594508d9101620003e5565b92508192620003d7565b634e487b7160e01b600052602260045260246000fd5b93607f1693620000b4565b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200033057604052565b51906001600160a01b03821682036200043057565b919080601f84011215620004305782516001600160401b0381116200033057602090620004a6601f8201601f1916830162000435565b92818452828287010111620004305760005b818110620004ce57508260009394955001015290565b8581018301518482018401528201620004b856fe60806040908082526004908136101561001757600080fd5b600091823560e01c91826302458c74146109815750816306fdde0314610963578163095ea7b3146108b857816318160ddd1461089957816323b872dd146107af5781632f4350c214610781578163313ce567146106c857816340c10f191461060757816368266e1b146105e857816370a08231146105b1578163715018a6146105665781637158da7c146105225781637d9f6db5146104f95781638da5cb5b146104d057816395d89b411461049f578163a6880e4114610410578163a9059cbb146103df578163af920582146103a1578163b8c6f57914610333578163db006a7514610305578163dd62ed3e146102bc578163e593bd741461027d578163f2fde38b14610200575063fbbf93a01461012e57600080fd5b346101fd57806003193601126101fd576060809183519061014e82610a3a565b808252602082015281848201520152610165610a8e565b6101f9610170610b5c565b6101e684519361017f85610a3a565b30855260208501957f000000000000000000000000000000000000000000000000000000000000000087528086019182526060860193845280519687966020885260018060a01b0390511660208801525190860152516080606086015260a085019061099d565b9051838203601f1901608085015261099d565b0390f35b80fd5b839150346102795760203660031901126102795761021c6109dd565b90610225610a0e565b6001600160a01b03918216928315610263575050600580546001600160a01b031981168417909155166000805160206110a18339815191528380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8280fd5b8284346102b857816003193601126102b857602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5080fd5b8284346102b857806003193601126102b857806020926102da6109dd565b6102e26109f8565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b9050346102b85760203660031901126102b85761032b90610324610ceb565b3533610d29565b600160065580f35b839150346102795760203660031901126102795761034f6109dd565b90610358610a0e565b6001600160a01b03918216928315610394576007549283166103875750506001600160a01b0319161760075580f35b516351a05b4d60e01b8152fd5b5163e6c4247b60e01b8152fd5b8284346102b857816003193601126102b857602090517f00000000000000000000000000000000000000000000000000000000000000004210158152f35b8284346102b857806003193601126102b8576020906104096103ff6109dd565b6024359033610bf3565b5160018152f35b8284346102b857806003193601126102b8577fd3a735f71fc85ae657682ad3c7ea1d86c2907dfa17288c9bd57d0c3eea2f7b2d9061044c6109dd565b6104996024359261045b610a0e565b61048f84847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f39565b5192839283610d0e565b0390a180f35b8284346102b857816003193601126102b8576101f9906104bd610b5c565b905191829160208352602083019061099d565b8284346102b857816003193601126102b85760055490516001600160a01b039091168152602090f35b8284346102b857816003193601126102b85760075490516001600160a01b039091168152602090f35b8284346102b857816003193601126102b857517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b82346101fd57806003193601126101fd5761057f610a0e565b600580546001600160a01b0319811690915581906001600160a01b03166000805160206110a18339815191528280a380f35b8284346102b85760203660031901126102b85760209181906001600160a01b036105d96109dd565b16815280845220549051908152f35b8284346102b857816003193601126102b8576020906008549051908152f35b9050346102b857826003193601126102b8576106216109dd565b60075460243592916001600160a01b0391821633036106b85783156106a857169081156106915750826000805160206110c1833981519152602061068b959661066c86600254610cc8565b60025584845283825280842086815401905551858152a3600854610cc8565b60085580f35b845163ec442f0560e01b8152908101849052602490fd5b8551631f2a200560e01b81528390fd5b8551633fbfe96d60e01b81528390fd5b8383346101fd57806003193601126101fd57815163313ce56760e01b8152926020908490817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa928315610775578193610734575b60208460ff855191168152f35b9092506020813d821161076d575b8161074f60209383610a6b565b8101031261027957519160ff831683036101fd575060ff6020610727565b3d9150610742565b509051903d90823e3d90fd5b8284346102b857816003193601126102b85761032b9061079f610ceb565b3383528260205282205433610d29565b919050346101fd5760603660031901126101fd576107cb6109dd565b6107d36109f8565b916044359360018060a01b03831680835260016020528683203384526020528683205491600019830361080f575b602088610409898989610bf3565b8683106108775781156108605733156108495750825260016020908152868320338452815291869020908590039055829061040938610801565b8751634a1406b160e11b8152908101849052602490fd5b875163e602df0560e01b8152908101849052602490fd5b9050610895868851938493637dc7a0d960e11b855233908501610caa565b0390fd5b8284346102b857816003193601126102b8576020906002549051908152f35b839150346102795781600319360112610279576108d36109dd565b60243590331561094c576001600160a01b031691821561093557508083602095338152600187528181208582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b8351634a1406b160e11b8152908101859052602490fd5b835163e602df0560e01b8152808401869052602490fd5b8284346102b857816003193601126102b8576101f9906104bd610a8e565b8390346102b857816003193601126102b8576020906009548152f35b919082519283825260005b8481106109c9575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016109a8565b600435906001600160a01b03821682036109f357565b600080fd5b602435906001600160a01b03821682036109f357565b6005546001600160a01b03163303610a2257565b60405163118cdaa760e01b8152336004820152602490fd5b608081019081106001600160401b03821117610a5557604052565b634e487b7160e01b600052604160045260246000fd5b601f909101601f19168101906001600160401b03821190821017610a5557604052565b60405190600060035490600182811c90808416938415610b52575b6020948584108114610b3e5783885287949392918115610b1e5750600114610adc575b5050610ada92500383610a6b565b565b90939150600360005281600020936000915b818310610b06575050610ada93508201013880610acc565b85548884018501529485019487945091830191610aee565b915050610ada94925060ff191682840152151560051b8201013880610acc565b634e487b7160e01b85526022600452602485fd5b91607f1691610aa9565b60405190600060045490600182811c90808416938415610be9575b6020948584108114610b3e5783885287949392918115610b1e5750600114610ba7575050610ada92500383610a6b565b90939150600460005281600020936000915b818310610bd1575050610ada93508201013880610acc565b85548884018501529485019487945091830191610bb9565b91607f1691610b77565b916001600160a01b03808416928315610c915716928315610c785760009083825281602052604082205490838210610c5b575091604082826000805160206110c1833981519152958760209652828652038282205586815220818154019055604051908152a3565b6108958460405193849363391434e360e21b855260048501610caa565b60405163ec442f0560e01b815260006004820152602490fd5b604051634b637e8f60e11b815260006004820152602490fd5b604091949392606082019560018060a01b0316825260208201520152565b91908201809211610cd557565b634e487b7160e01b600052601160045260246000fd5b600260065414610cfc576002600655565b604051633ee5aeb560e01b8152600490fd5b6001600160a01b039091168152602081019190915260400190565b91907f00000000000000000000000000000000000000000000000000000000000000004210610f27578015610f15576000923384526020848152604094858120548411610f045785516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031692908181602481875afa908115610efa578391610ecd575b5060025411610e90573315610e785733825281815286822054858110610e5957610e54937f4896181ff8f4543cc00db9fe9b6fb7e6f032b7eb772c72ab1ec1b4d2e03b936997989361048f93888094338452838352038683205583600254036002556000805160206110c18339815191528651918583523392a3610e4a82600954610cc8565b6009553390610f39565b0390a1565b875163391434e360e21b81529081906108959088903360048501610caa565b8651634b637e8f60e11b815260048101839052602490fd5b60649087519062461bcd60e51b8252600482015260176024820152761a5b9cdd59999a58da595b9d0b58dbdb1b185d195c985b604a1b6044820152fd5b90508181813d8311610ef3575b610ee48183610a6b565b81010312610279575138610dc4565b503d610eda565b88513d85823e3d90fd5b8551631e9acf1760e31b8152600490fd5b604051631f2a200560e01b8152600490fd5b604051631440798b60e01b8152600490fd5b610f5b92604051938491602083019463a9059cbb60e01b865260248401610d0e565b0390610f6f601f1992838101865285610a6b565b60018060a01b031692600080938192519082875af13d15611030573d6001600160401b03811161101c5790610fc49291610fb4602060405194601f8401160184610a6b565b82523d84602084013e5b8461103d565b908151918215159283610ff4575b505050610fdc5750565b60249060405190635274afe760e01b82526004820152fd5b8192935090602091810103126102b85760200151908115918215036101fd5750388080610fd2565b634e487b7160e01b84526041600452602484fd5b610fc49150606090610fbe565b90611064575080511561105257805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580611097575b611075575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561106d56fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212208465edc2c01521a8d63acbc42519b33cfd59e6dce213fca82c7cce19d164b74e64736f6c634300081400338be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a26469706673582212208a8c2797142fc67cb308099e467152488f9bf89edb6fd739ea5204d0cbc7830164736f6c63430008140033",
286
+ "bytecode": "0x6080346100bb57601f6121f738819003918201601f19168301916001600160401b038311848410176100c0578084926020946040528339810103126100bb57516001600160a01b0390818116908190036100bb5780156100a257600080546001600160a01b03198116831782556040519316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a361212090816100d78239f35b604051631e4fbdf760e01b815260006004820152602490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe608060408181526004803610156200001657600080fd5b600092833560e01c90816303dc4d31146200090c5750806313afa5f414620008c757806338f343a0146200080457806358a52c4d14620006685780636e2eca67146200057d578063715018a6146200052d5780638da5cb5b14620005035780638f723f5014620001905780639d8dad70146200016f578063c4eb0a9e14620001295763f2fde38b14620000a857600080fd5b34620001255760203660031901126200012557620000c5620009c9565b90620000d0620009e5565b6001600160a01b039182169283156200010f5750506000548260018060a01b031982161760005516600080516020620020cb833981519152600080a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8280fd5b5050346200016b5760203660031901126200016b5760209160ff9082906001600160a01b0362000158620009c9565b1681526002855220541690519015158152f35b5080fd5b5050346200016b57816003193601126200016b576020906001549051908152f35b509190346200016b57806003193601126200016b57620001af620009c9565b6024803590620001be620009e5565b42821115620004f3576001908154828101809111620004e15786929190819087858272184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8181811015620004d3575b506904ee2d6d415b85acef8160201b905080851015620004c3575b50662386f26fc1000080851015620004b3575b506305f5e10080851015620004a3575b508c6127108086101562000493575b5050606484101562000482575b86600a8095101562000477575b6021620002948285016200028b620002818262000a68565b9751978862000a44565b80875262000a68565b60209a868c019591601f190136873750850101905b62000446575b50509262000327916200031794620002f9602a8d51966902d22a727902137b732160b51b8c890152878551620002e981858401886200097d565b8101039081018852018662000a44565b8b51958692635a454e4f60e01b8b850152518092858501906200097d565b8101038c81018552018362000a44565b8751916115f980840192906001600160401b038411858510176200043457916200037c6200038b9286959462000ad287396001600160a01b039b8c1685528985018b905260a08d8601819052850190620009a2565b908382036060850152620009a2565b90608030910152039088f09081156200042a57825498600160401b8a10156200041957505084620003e389847f17f5b23f56b82f5b57d5d479ac000c3cce25009efb7195be1720e72c1be7d79b9a9b0185556200094b565b969092169582549060031b9187831b921b1916179055838752600282528487209060ff198254161790558351928352820152a180f35b634e487b7160e01b89526041905287fd5b86513d89823e3d90fd5b634e487b7160e01b8c5260418d52858cfd5b600019019084906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304908782620002a95750620002af565b909101908662000269565b90926064600291049301906200025c565b90919294049301908c386200024f565b6008919294049301903862000240565b6010919294049301903862000230565b602091929404930190386200021d565b049350829150388062000202565b50634e487b7160e01b86526011875285fd5b8351633085aae960e01b81528690fd5b5050346200016b57816003193601126200016b57905490516001600160a01b039091168152602090f35b83346200057a57806003193601126200057a576200054a620009e5565b600080546001600160a01b0319811682556001600160a01b0316600080516020620020cb8339815191528280a380f35b80fd5b509190346200016b57806003193601126200016b578235926024356001600160a01b03818116918290036200064457620005b6620009e5565b600154861015620006585781156200064857620005d485966200094b565b90549060031b1c16803b156200064457602485928551968793849263f2fde38b60e01b8452878401525af180156200063a576200060f578380f35b6001600160401b038311620006275750523880808380f35b634e487b7160e01b845260419052602483fd5b82513d86823e3d90fd5b8480fd5b835163d92e233d60e01b81528390fd5b83516363df817160e01b81528390fd5b509190346200016b57602092836003193601126200012557815181356200068f8262000a12565b84825284868301526060808381878196015201526001548110156200065857620006ba85916200094b565b905485516307ddfc9d60e51b81526001600160a01b0397909590928692839160031b1c89165afa928315620007f85781936200073f575b505062000726836200073b9451968796818852855116818801528401518187015283015160808387015260a0860190620009a2565b910151838203601f19016080850152620009a2565b0390f35b909192503d8083833e62000754818362000a44565b8101908681830312620001255780516001600160401b0391828211620006445701608081840312620007f4578551936200078e8562000a12565b815188811681036200016b5785528882015189860152868201518381116200016b5784620007be91840162000a84565b87860152858201519283116200057a575062000726926200073b96959492620007e8920162000a84565b838201529293620006f1565b8380fd5b508351903d90823e3d90fd5b5050346200016b57816003193601126200016b5780516001805480835281855260208084019592939186907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf690855b818110620008aa57505050826200086c91038362000a44565b8451948186019282875251809352850195925b8281106200088d5785870386f35b83516001600160a01b03168752958101959281019284016200087f565b82546001600160a01b031684529284019291870191870162000853565b503462000125576020366003190112620001255735916001548310156200057a5750620008f66020926200094b565b905491519160018060a01b039160031b1c168152f35b939050346200057a5760203660031901126200057a57508035926001548410156200093f57602083620008f6866200094b565b6363df817160e01b8152fd5b6001548110156200096757600160005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b60005b838110620009915750506000910152565b818101518382015260200162000980565b90602091620009bd815180928185528580860191016200097d565b601f01601f1916010190565b600435906001600160a01b0382168203620009e057565b600080fd5b6000546001600160a01b03163303620009fa57565b60405163118cdaa760e01b8152336004820152602490fd5b608081019081106001600160401b0382111762000a2e57604052565b634e487b7160e01b600052604160045260246000fd5b601f909101601f19168101906001600160401b0382119082101762000a2e57604052565b6001600160401b03811162000a2e57601f01601f191660200190565b81601f82011215620009e057805162000a9d8162000a68565b9262000aad604051948562000a44565b81845260208284010111620009e05762000ace91602080850191016200097d565b9056fe60c0604052346200043057620015f9803803806200001d8162000435565b928339810160a082820312620004305762000038826200045b565b602080840151604085015190949192906001600160401b03908181116200043057856200006791850162000470565b9460608401519082821162000430576200008a6080916200009293870162000470565b94016200045b565b92855182811162000330576003918254916001988984811c9416801562000425575b898510146200040f578190601f94858111620003b9575b508990858311600114620003525760009262000346575b505060001982861b1c191690891b1783555b8051938411620003305760049687548981811c9116801562000325575b828210146200031057908184879695949311620002b4575b50809285116001146200024657506000936200023a575b505082871b92600019911b1c19161783555b6001600160a01b039182169384156200022257600580546001600160a01b031981168717909155604051959084167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a360065516918215801562000219575b6200020d57505060805260a0526040516111169081620004e3823960805181818161046201528181610537015281816106ef0152610d84015260a05181818161018901528181610295015281816103b90152610d2d0152f35b63e6c4247b60e01b8152fd5b506000620001b4565b604051631e4fbdf760e01b8152600081860152602490fd5b01519150388062000140565b929190899550601f1985168960005284600020946000905b8282106200029a57505085116200027f575b50505050811b01835562000152565b01519060f884600019921b161c191690553880808062000270565b8484015187558c989096019593840193908101906200025e565b90919293945088600052816000208480880160051c82019284891062000306575b918c91899897969594930160051c01915b828110620002f657505062000129565b600081558897508c9101620002e6565b92508192620002d5565b602289634e487b7160e01b6000525260246000fd5b90607f169062000111565b634e487b7160e01b600052604160045260246000fd5b015190503880620000e2565b908b9350601f19831691876000528b6000209260005b8d828210620003a2575050841162000389575b505050811b018355620000f4565b015160001983881b60f8161c191690553880806200037b565b8385015186558f9790950194938401930162000368565b90915085600052896000208580850160051c8201928c861062000405575b918d91869594930160051c01915b828110620003f5575050620000cb565b600081558594508d9101620003e5565b92508192620003d7565b634e487b7160e01b600052602260045260246000fd5b93607f1693620000b4565b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200033057604052565b51906001600160a01b03821682036200043057565b919080601f84011215620004305782516001600160401b0381116200033057602090620004a6601f8201601f1916830162000435565b92818452828287010111620004305760005b818110620004ce57508260009394955001015290565b8581018301518482018401528201620004b856fe60806040908082526004908136101561001757600080fd5b600091823560e01c91826302458c74146109815750816306fdde0314610963578163095ea7b3146108b857816318160ddd1461089957816323b872dd146107af5781632f4350c214610781578163313ce567146106c857816340c10f191461060757816368266e1b146105e857816370a08231146105b1578163715018a6146105665781637158da7c146105225781637d9f6db5146104f95781638da5cb5b146104d057816395d89b411461049f578163a6880e4114610410578163a9059cbb146103df578163af920582146103a1578163b8c6f57914610333578163db006a7514610305578163dd62ed3e146102bc578163e593bd741461027d578163f2fde38b14610200575063fbbf93a01461012e57600080fd5b346101fd57806003193601126101fd576060809183519061014e82610a3a565b808252602082015281848201520152610165610a8e565b6101f9610170610b5c565b6101e684519361017f85610a3a565b30855260208501957f000000000000000000000000000000000000000000000000000000000000000087528086019182526060860193845280519687966020885260018060a01b0390511660208801525190860152516080606086015260a085019061099d565b9051838203601f1901608085015261099d565b0390f35b80fd5b839150346102795760203660031901126102795761021c6109dd565b90610225610a0e565b6001600160a01b03918216928315610263575050600580546001600160a01b031981168417909155166000805160206110a18339815191528380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8280fd5b8284346102b857816003193601126102b857602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5080fd5b8284346102b857806003193601126102b857806020926102da6109dd565b6102e26109f8565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b9050346102b85760203660031901126102b85761032b90610324610ceb565b3533610d29565b600160065580f35b839150346102795760203660031901126102795761034f6109dd565b90610358610a0e565b6001600160a01b03918216928315610394576007549283166103875750506001600160a01b0319161760075580f35b516351a05b4d60e01b8152fd5b5163e6c4247b60e01b8152fd5b8284346102b857816003193601126102b857602090517f00000000000000000000000000000000000000000000000000000000000000004210158152f35b8284346102b857806003193601126102b8576020906104096103ff6109dd565b6024359033610bf3565b5160018152f35b8284346102b857806003193601126102b8577fd3a735f71fc85ae657682ad3c7ea1d86c2907dfa17288c9bd57d0c3eea2f7b2d9061044c6109dd565b6104996024359261045b610a0e565b61048f84847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f39565b5192839283610d0e565b0390a180f35b8284346102b857816003193601126102b8576101f9906104bd610b5c565b905191829160208352602083019061099d565b8284346102b857816003193601126102b85760055490516001600160a01b039091168152602090f35b8284346102b857816003193601126102b85760075490516001600160a01b039091168152602090f35b8284346102b857816003193601126102b857517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b82346101fd57806003193601126101fd5761057f610a0e565b600580546001600160a01b0319811690915581906001600160a01b03166000805160206110a18339815191528280a380f35b8284346102b85760203660031901126102b85760209181906001600160a01b036105d96109dd565b16815280845220549051908152f35b8284346102b857816003193601126102b8576020906008549051908152f35b9050346102b857826003193601126102b8576106216109dd565b60075460243592916001600160a01b0391821633036106b85783156106a857169081156106915750826000805160206110c1833981519152602061068b959661066c86600254610cc8565b60025584845283825280842086815401905551858152a3600854610cc8565b60085580f35b845163ec442f0560e01b8152908101849052602490fd5b8551631f2a200560e01b81528390fd5b8551633fbfe96d60e01b81528390fd5b8383346101fd57806003193601126101fd57815163313ce56760e01b8152926020908490817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa928315610775578193610734575b60208460ff855191168152f35b9092506020813d821161076d575b8161074f60209383610a6b565b8101031261027957519160ff831683036101fd575060ff6020610727565b3d9150610742565b509051903d90823e3d90fd5b8284346102b857816003193601126102b85761032b9061079f610ceb565b3383528260205282205433610d29565b919050346101fd5760603660031901126101fd576107cb6109dd565b6107d36109f8565b916044359360018060a01b03831680835260016020528683203384526020528683205491600019830361080f575b602088610409898989610bf3565b8683106108775781156108605733156108495750825260016020908152868320338452815291869020908590039055829061040938610801565b8751634a1406b160e11b8152908101849052602490fd5b875163e602df0560e01b8152908101849052602490fd5b9050610895868851938493637dc7a0d960e11b855233908501610caa565b0390fd5b8284346102b857816003193601126102b8576020906002549051908152f35b839150346102795781600319360112610279576108d36109dd565b60243590331561094c576001600160a01b031691821561093557508083602095338152600187528181208582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b8351634a1406b160e11b8152908101859052602490fd5b835163e602df0560e01b8152808401869052602490fd5b8284346102b857816003193601126102b8576101f9906104bd610a8e565b8390346102b857816003193601126102b8576020906009548152f35b919082519283825260005b8481106109c9575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016109a8565b600435906001600160a01b03821682036109f357565b600080fd5b602435906001600160a01b03821682036109f357565b6005546001600160a01b03163303610a2257565b60405163118cdaa760e01b8152336004820152602490fd5b608081019081106001600160401b03821117610a5557604052565b634e487b7160e01b600052604160045260246000fd5b601f909101601f19168101906001600160401b03821190821017610a5557604052565b60405190600060035490600182811c90808416938415610b52575b6020948584108114610b3e5783885287949392918115610b1e5750600114610adc575b5050610ada92500383610a6b565b565b90939150600360005281600020936000915b818310610b06575050610ada93508201013880610acc565b85548884018501529485019487945091830191610aee565b915050610ada94925060ff191682840152151560051b8201013880610acc565b634e487b7160e01b85526022600452602485fd5b91607f1691610aa9565b60405190600060045490600182811c90808416938415610be9575b6020948584108114610b3e5783885287949392918115610b1e5750600114610ba7575050610ada92500383610a6b565b90939150600460005281600020936000915b818310610bd1575050610ada93508201013880610acc565b85548884018501529485019487945091830191610bb9565b91607f1691610b77565b916001600160a01b03808416928315610c915716928315610c785760009083825281602052604082205490838210610c5b575091604082826000805160206110c1833981519152958760209652828652038282205586815220818154019055604051908152a3565b6108958460405193849363391434e360e21b855260048501610caa565b60405163ec442f0560e01b815260006004820152602490fd5b604051634b637e8f60e11b815260006004820152602490fd5b604091949392606082019560018060a01b0316825260208201520152565b91908201809211610cd557565b634e487b7160e01b600052601160045260246000fd5b600260065414610cfc576002600655565b604051633ee5aeb560e01b8152600490fd5b6001600160a01b039091168152602081019190915260400190565b91907f00000000000000000000000000000000000000000000000000000000000000004210610f27578015610f15576000923384526020848152604094858120548411610f045785516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031692908181602481875afa908115610efa578391610ecd575b5060025411610e90573315610e785733825281815286822054858110610e5957610e54937f4896181ff8f4543cc00db9fe9b6fb7e6f032b7eb772c72ab1ec1b4d2e03b936997989361048f93888094338452838352038683205583600254036002556000805160206110c18339815191528651918583523392a3610e4a82600954610cc8565b6009553390610f39565b0390a1565b875163391434e360e21b81529081906108959088903360048501610caa565b8651634b637e8f60e11b815260048101839052602490fd5b60649087519062461bcd60e51b8252600482015260176024820152761a5b9cdd59999a58da595b9d0b58dbdb1b185d195c985b604a1b6044820152fd5b90508181813d8311610ef3575b610ee48183610a6b565b81010312610279575138610dc4565b503d610eda565b88513d85823e3d90fd5b8551631e9acf1760e31b8152600490fd5b604051631f2a200560e01b8152600490fd5b604051631440798b60e01b8152600490fd5b610f5b92604051938491602083019463a9059cbb60e01b865260248401610d0e565b0390610f6f601f1992838101865285610a6b565b60018060a01b031692600080938192519082875af13d15611030573d6001600160401b03811161101c5790610fc49291610fb4602060405194601f8401160184610a6b565b82523d84602084013e5b8461103d565b908151918215159283610ff4575b505050610fdc5750565b60249060405190635274afe760e01b82526004820152fd5b8192935090602091810103126102b85760200151908115918215036101fd5750388080610fd2565b634e487b7160e01b84526041600452602484fd5b610fc49150606090610fbe565b90611064575080511561105257805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580611097575b611075575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561106d56fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220cc51d1c52a0466209a7e4b9f098074ea6f4d475efdc4bab77b37f1fea86df4f964736f6c634300081400338be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a26469706673582212205676f4384051063302090e4c1c4703d05ecb59ba3be327225b2b3b5c45dda2a364736f6c63430008140033",
287
+ "deployedBytecode": "0x608060408181526004803610156200001657600080fd5b600092833560e01c90816303dc4d31146200090c5750806313afa5f414620008c757806338f343a0146200080457806358a52c4d14620006685780636e2eca67146200057d578063715018a6146200052d5780638da5cb5b14620005035780638f723f5014620001905780639d8dad70146200016f578063c4eb0a9e14620001295763f2fde38b14620000a857600080fd5b34620001255760203660031901126200012557620000c5620009c9565b90620000d0620009e5565b6001600160a01b039182169283156200010f5750506000548260018060a01b031982161760005516600080516020620020cb833981519152600080a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8280fd5b5050346200016b5760203660031901126200016b5760209160ff9082906001600160a01b0362000158620009c9565b1681526002855220541690519015158152f35b5080fd5b5050346200016b57816003193601126200016b576020906001549051908152f35b509190346200016b57806003193601126200016b57620001af620009c9565b6024803590620001be620009e5565b42821115620004f3576001908154828101809111620004e15786929190819087858272184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8181811015620004d3575b506904ee2d6d415b85acef8160201b905080851015620004c3575b50662386f26fc1000080851015620004b3575b506305f5e10080851015620004a3575b508c6127108086101562000493575b5050606484101562000482575b86600a8095101562000477575b6021620002948285016200028b620002818262000a68565b9751978862000a44565b80875262000a68565b60209a868c019591601f190136873750850101905b62000446575b50509262000327916200031794620002f9602a8d51966902d22a727902137b732160b51b8c890152878551620002e981858401886200097d565b8101039081018852018662000a44565b8b51958692635a454e4f60e01b8b850152518092858501906200097d565b8101038c81018552018362000a44565b8751916115f980840192906001600160401b038411858510176200043457916200037c6200038b9286959462000ad287396001600160a01b039b8c1685528985018b905260a08d8601819052850190620009a2565b908382036060850152620009a2565b90608030910152039088f09081156200042a57825498600160401b8a10156200041957505084620003e389847f17f5b23f56b82f5b57d5d479ac000c3cce25009efb7195be1720e72c1be7d79b9a9b0185556200094b565b969092169582549060031b9187831b921b1916179055838752600282528487209060ff198254161790558351928352820152a180f35b634e487b7160e01b89526041905287fd5b86513d89823e3d90fd5b634e487b7160e01b8c5260418d52858cfd5b600019019084906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304908782620002a95750620002af565b909101908662000269565b90926064600291049301906200025c565b90919294049301908c386200024f565b6008919294049301903862000240565b6010919294049301903862000230565b602091929404930190386200021d565b049350829150388062000202565b50634e487b7160e01b86526011875285fd5b8351633085aae960e01b81528690fd5b5050346200016b57816003193601126200016b57905490516001600160a01b039091168152602090f35b83346200057a57806003193601126200057a576200054a620009e5565b600080546001600160a01b0319811682556001600160a01b0316600080516020620020cb8339815191528280a380f35b80fd5b509190346200016b57806003193601126200016b578235926024356001600160a01b03818116918290036200064457620005b6620009e5565b600154861015620006585781156200064857620005d485966200094b565b90549060031b1c16803b156200064457602485928551968793849263f2fde38b60e01b8452878401525af180156200063a576200060f578380f35b6001600160401b038311620006275750523880808380f35b634e487b7160e01b845260419052602483fd5b82513d86823e3d90fd5b8480fd5b835163d92e233d60e01b81528390fd5b83516363df817160e01b81528390fd5b509190346200016b57602092836003193601126200012557815181356200068f8262000a12565b84825284868301526060808381878196015201526001548110156200065857620006ba85916200094b565b905485516307ddfc9d60e51b81526001600160a01b0397909590928692839160031b1c89165afa928315620007f85781936200073f575b505062000726836200073b9451968796818852855116818801528401518187015283015160808387015260a0860190620009a2565b910151838203601f19016080850152620009a2565b0390f35b909192503d8083833e62000754818362000a44565b8101908681830312620001255780516001600160401b0391828211620006445701608081840312620007f4578551936200078e8562000a12565b815188811681036200016b5785528882015189860152868201518381116200016b5784620007be91840162000a84565b87860152858201519283116200057a575062000726926200073b96959492620007e8920162000a84565b838201529293620006f1565b8380fd5b508351903d90823e3d90fd5b5050346200016b57816003193601126200016b5780516001805480835281855260208084019592939186907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf690855b818110620008aa57505050826200086c91038362000a44565b8451948186019282875251809352850195925b8281106200088d5785870386f35b83516001600160a01b03168752958101959281019284016200087f565b82546001600160a01b031684529284019291870191870162000853565b503462000125576020366003190112620001255735916001548310156200057a5750620008f66020926200094b565b905491519160018060a01b039160031b1c168152f35b939050346200057a5760203660031901126200057a57508035926001548410156200093f57602083620008f6866200094b565b6363df817160e01b8152fd5b6001548110156200096757600160005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b60005b838110620009915750506000910152565b818101518382015260200162000980565b90602091620009bd815180928185528580860191016200097d565b601f01601f1916010190565b600435906001600160a01b0382168203620009e057565b600080fd5b6000546001600160a01b03163303620009fa57565b60405163118cdaa760e01b8152336004820152602490fd5b608081019081106001600160401b0382111762000a2e57604052565b634e487b7160e01b600052604160045260246000fd5b601f909101601f19168101906001600160401b0382119082101762000a2e57604052565b6001600160401b03811162000a2e57601f01601f191660200190565b81601f82011215620009e057805162000a9d8162000a68565b9262000aad604051948562000a44565b81845260208284010111620009e05762000ace91602080850191016200097d565b9056fe60c0604052346200043057620015f9803803806200001d8162000435565b928339810160a082820312620004305762000038826200045b565b602080840151604085015190949192906001600160401b03908181116200043057856200006791850162000470565b9460608401519082821162000430576200008a6080916200009293870162000470565b94016200045b565b92855182811162000330576003918254916001988984811c9416801562000425575b898510146200040f578190601f94858111620003b9575b508990858311600114620003525760009262000346575b505060001982861b1c191690891b1783555b8051938411620003305760049687548981811c9116801562000325575b828210146200031057908184879695949311620002b4575b50809285116001146200024657506000936200023a575b505082871b92600019911b1c19161783555b6001600160a01b039182169384156200022257600580546001600160a01b031981168717909155604051959084167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a360065516918215801562000219575b6200020d57505060805260a0526040516111169081620004e3823960805181818161046201528181610537015281816106ef0152610d84015260a05181818161018901528181610295015281816103b90152610d2d0152f35b63e6c4247b60e01b8152fd5b506000620001b4565b604051631e4fbdf760e01b8152600081860152602490fd5b01519150388062000140565b929190899550601f1985168960005284600020946000905b8282106200029a57505085116200027f575b50505050811b01835562000152565b01519060f884600019921b161c191690553880808062000270565b8484015187558c989096019593840193908101906200025e565b90919293945088600052816000208480880160051c82019284891062000306575b918c91899897969594930160051c01915b828110620002f657505062000129565b600081558897508c9101620002e6565b92508192620002d5565b602289634e487b7160e01b6000525260246000fd5b90607f169062000111565b634e487b7160e01b600052604160045260246000fd5b015190503880620000e2565b908b9350601f19831691876000528b6000209260005b8d828210620003a2575050841162000389575b505050811b018355620000f4565b015160001983881b60f8161c191690553880806200037b565b8385015186558f9790950194938401930162000368565b90915085600052896000208580850160051c8201928c861062000405575b918d91869594930160051c01915b828110620003f5575050620000cb565b600081558594508d9101620003e5565b92508192620003d7565b634e487b7160e01b600052602260045260246000fd5b93607f1693620000b4565b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200033057604052565b51906001600160a01b03821682036200043057565b919080601f84011215620004305782516001600160401b0381116200033057602090620004a6601f8201601f1916830162000435565b92818452828287010111620004305760005b818110620004ce57508260009394955001015290565b8581018301518482018401528201620004b856fe60806040908082526004908136101561001757600080fd5b600091823560e01c91826302458c74146109815750816306fdde0314610963578163095ea7b3146108b857816318160ddd1461089957816323b872dd146107af5781632f4350c214610781578163313ce567146106c857816340c10f191461060757816368266e1b146105e857816370a08231146105b1578163715018a6146105665781637158da7c146105225781637d9f6db5146104f95781638da5cb5b146104d057816395d89b411461049f578163a6880e4114610410578163a9059cbb146103df578163af920582146103a1578163b8c6f57914610333578163db006a7514610305578163dd62ed3e146102bc578163e593bd741461027d578163f2fde38b14610200575063fbbf93a01461012e57600080fd5b346101fd57806003193601126101fd576060809183519061014e82610a3a565b808252602082015281848201520152610165610a8e565b6101f9610170610b5c565b6101e684519361017f85610a3a565b30855260208501957f000000000000000000000000000000000000000000000000000000000000000087528086019182526060860193845280519687966020885260018060a01b0390511660208801525190860152516080606086015260a085019061099d565b9051838203601f1901608085015261099d565b0390f35b80fd5b839150346102795760203660031901126102795761021c6109dd565b90610225610a0e565b6001600160a01b03918216928315610263575050600580546001600160a01b031981168417909155166000805160206110a18339815191528380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8280fd5b8284346102b857816003193601126102b857602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5080fd5b8284346102b857806003193601126102b857806020926102da6109dd565b6102e26109f8565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b9050346102b85760203660031901126102b85761032b90610324610ceb565b3533610d29565b600160065580f35b839150346102795760203660031901126102795761034f6109dd565b90610358610a0e565b6001600160a01b03918216928315610394576007549283166103875750506001600160a01b0319161760075580f35b516351a05b4d60e01b8152fd5b5163e6c4247b60e01b8152fd5b8284346102b857816003193601126102b857602090517f00000000000000000000000000000000000000000000000000000000000000004210158152f35b8284346102b857806003193601126102b8576020906104096103ff6109dd565b6024359033610bf3565b5160018152f35b8284346102b857806003193601126102b8577fd3a735f71fc85ae657682ad3c7ea1d86c2907dfa17288c9bd57d0c3eea2f7b2d9061044c6109dd565b6104996024359261045b610a0e565b61048f84847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f39565b5192839283610d0e565b0390a180f35b8284346102b857816003193601126102b8576101f9906104bd610b5c565b905191829160208352602083019061099d565b8284346102b857816003193601126102b85760055490516001600160a01b039091168152602090f35b8284346102b857816003193601126102b85760075490516001600160a01b039091168152602090f35b8284346102b857816003193601126102b857517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b82346101fd57806003193601126101fd5761057f610a0e565b600580546001600160a01b0319811690915581906001600160a01b03166000805160206110a18339815191528280a380f35b8284346102b85760203660031901126102b85760209181906001600160a01b036105d96109dd565b16815280845220549051908152f35b8284346102b857816003193601126102b8576020906008549051908152f35b9050346102b857826003193601126102b8576106216109dd565b60075460243592916001600160a01b0391821633036106b85783156106a857169081156106915750826000805160206110c1833981519152602061068b959661066c86600254610cc8565b60025584845283825280842086815401905551858152a3600854610cc8565b60085580f35b845163ec442f0560e01b8152908101849052602490fd5b8551631f2a200560e01b81528390fd5b8551633fbfe96d60e01b81528390fd5b8383346101fd57806003193601126101fd57815163313ce56760e01b8152926020908490817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa928315610775578193610734575b60208460ff855191168152f35b9092506020813d821161076d575b8161074f60209383610a6b565b8101031261027957519160ff831683036101fd575060ff6020610727565b3d9150610742565b509051903d90823e3d90fd5b8284346102b857816003193601126102b85761032b9061079f610ceb565b3383528260205282205433610d29565b919050346101fd5760603660031901126101fd576107cb6109dd565b6107d36109f8565b916044359360018060a01b03831680835260016020528683203384526020528683205491600019830361080f575b602088610409898989610bf3565b8683106108775781156108605733156108495750825260016020908152868320338452815291869020908590039055829061040938610801565b8751634a1406b160e11b8152908101849052602490fd5b875163e602df0560e01b8152908101849052602490fd5b9050610895868851938493637dc7a0d960e11b855233908501610caa565b0390fd5b8284346102b857816003193601126102b8576020906002549051908152f35b839150346102795781600319360112610279576108d36109dd565b60243590331561094c576001600160a01b031691821561093557508083602095338152600187528181208582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b8351634a1406b160e11b8152908101859052602490fd5b835163e602df0560e01b8152808401869052602490fd5b8284346102b857816003193601126102b8576101f9906104bd610a8e565b8390346102b857816003193601126102b8576020906009548152f35b919082519283825260005b8481106109c9575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016109a8565b600435906001600160a01b03821682036109f357565b600080fd5b602435906001600160a01b03821682036109f357565b6005546001600160a01b03163303610a2257565b60405163118cdaa760e01b8152336004820152602490fd5b608081019081106001600160401b03821117610a5557604052565b634e487b7160e01b600052604160045260246000fd5b601f909101601f19168101906001600160401b03821190821017610a5557604052565b60405190600060035490600182811c90808416938415610b52575b6020948584108114610b3e5783885287949392918115610b1e5750600114610adc575b5050610ada92500383610a6b565b565b90939150600360005281600020936000915b818310610b06575050610ada93508201013880610acc565b85548884018501529485019487945091830191610aee565b915050610ada94925060ff191682840152151560051b8201013880610acc565b634e487b7160e01b85526022600452602485fd5b91607f1691610aa9565b60405190600060045490600182811c90808416938415610be9575b6020948584108114610b3e5783885287949392918115610b1e5750600114610ba7575050610ada92500383610a6b565b90939150600460005281600020936000915b818310610bd1575050610ada93508201013880610acc565b85548884018501529485019487945091830191610bb9565b91607f1691610b77565b916001600160a01b03808416928315610c915716928315610c785760009083825281602052604082205490838210610c5b575091604082826000805160206110c1833981519152958760209652828652038282205586815220818154019055604051908152a3565b6108958460405193849363391434e360e21b855260048501610caa565b60405163ec442f0560e01b815260006004820152602490fd5b604051634b637e8f60e11b815260006004820152602490fd5b604091949392606082019560018060a01b0316825260208201520152565b91908201809211610cd557565b634e487b7160e01b600052601160045260246000fd5b600260065414610cfc576002600655565b604051633ee5aeb560e01b8152600490fd5b6001600160a01b039091168152602081019190915260400190565b91907f00000000000000000000000000000000000000000000000000000000000000004210610f27578015610f15576000923384526020848152604094858120548411610f045785516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031692908181602481875afa908115610efa578391610ecd575b5060025411610e90573315610e785733825281815286822054858110610e5957610e54937f4896181ff8f4543cc00db9fe9b6fb7e6f032b7eb772c72ab1ec1b4d2e03b936997989361048f93888094338452838352038683205583600254036002556000805160206110c18339815191528651918583523392a3610e4a82600954610cc8565b6009553390610f39565b0390a1565b875163391434e360e21b81529081906108959088903360048501610caa565b8651634b637e8f60e11b815260048101839052602490fd5b60649087519062461bcd60e51b8252600482015260176024820152761a5b9cdd59999a58da595b9d0b58dbdb1b185d195c985b604a1b6044820152fd5b90508181813d8311610ef3575b610ee48183610a6b565b81010312610279575138610dc4565b503d610eda565b88513d85823e3d90fd5b8551631e9acf1760e31b8152600490fd5b604051631f2a200560e01b8152600490fd5b604051631440798b60e01b8152600490fd5b610f5b92604051938491602083019463a9059cbb60e01b865260248401610d0e565b0390610f6f601f1992838101865285610a6b565b60018060a01b031692600080938192519082875af13d15611030573d6001600160401b03811161101c5790610fc49291610fb4602060405194601f8401160184610a6b565b82523d84602084013e5b8461103d565b908151918215159283610ff4575b505050610fdc5750565b60249060405190635274afe760e01b82526004820152fd5b8192935090602091810103126102b85760200151908115918215036101fd5750388080610fd2565b634e487b7160e01b84526041600452602484fd5b610fc49150606090610fbe565b90611064575080511561105257805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580611097575b611075575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561106d56fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220cc51d1c52a0466209a7e4b9f098074ea6f4d475efdc4bab77b37f1fea86df4f964736f6c634300081400338be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a26469706673582212205676f4384051063302090e4c1c4703d05ecb59ba3be327225b2b3b5c45dda2a364736f6c63430008140033",
288
288
  "linkReferences": {},
289
289
  "deployedLinkReferences": {}
290
290
  }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.encryptSecrets = encryptSecrets;
7
+ const configs_1 = require("../configs");
8
+ const chainlink_networks_config_1 = __importDefault(require("./chainlink-networks-config"));
9
+ const functions_toolkit_1 = require("@chainlink/functions-toolkit");
10
+ const fs_1 = __importDefault(require("fs"));
11
+ async function encryptSecrets(chainId, secrets, outputFile, signerV5) {
12
+ const chain = (0, configs_1.getChainConfig)(chainId);
13
+ const network = chainlink_networks_config_1.default[chainId];
14
+ if (!chain) {
15
+ throw new Error(`Chain configuration not found for chainId: ${chainId}`);
16
+ }
17
+ const functionsRouterAddress = network.functionsRouter;
18
+ const donId = network.donId;
19
+ const secretsManager = new functions_toolkit_1.SecretsManager({
20
+ // ethers v5 signer again
21
+ signer: signerV5,
22
+ functionsRouterAddress,
23
+ donId,
24
+ });
25
+ await secretsManager.initialize();
26
+ const encryptedSecrets = await secretsManager.encryptSecrets(secrets);
27
+ fs_1.default.writeFileSync(outputFile, JSON.stringify(encryptedSecrets, null, 2), { encoding: 'utf8' });
28
+ return encryptedSecrets;
29
+ }
@@ -12,13 +12,14 @@ const ethers5_1 = require("ethers5");
12
12
  const config_1 = __importDefault(require("./config"));
13
13
  const chainlink_networks_config_1 = __importDefault(require("../chainlink-networks-config"));
14
14
  const artifacts_1 = require("../../utils/artifacts");
15
+ const fs_1 = __importDefault(require("fs"));
15
16
  const subscriptionIds = {
16
17
  8453: 4392,
17
18
  17000: 4392,
18
19
  11155111: 4392,
19
20
  18453: 4392,
20
21
  };
21
- async function generateSecretReference(chainId, signerV5) {
22
+ async function generateSecretReference(chainId, secrets, signerV5) {
22
23
  const chain = (0, configs_1.getChainConfig)(chainId);
23
24
  const network = chainlink_networks_config_1.default[chainId];
24
25
  if (!chain) {
@@ -34,19 +35,21 @@ async function generateSecretReference(chainId, signerV5) {
34
35
  donId,
35
36
  });
36
37
  await secretsManager.initialize();
37
- const encryptedSecrets = await secretsManager.encryptSecrets(config_1.default.secrets);
38
+ const encryptedSecrets = await secretsManager.encryptSecrets(secrets);
39
+ fs_1.default.writeFileSync("encryptedFunctionsBeaconSecrets.json", JSON.stringify(encryptedSecrets, null, 2), { encoding: 'utf8' });
38
40
  // DONHoster secrets
39
- const { version } = await secretsManager.uploadEncryptedSecretsToDON({
40
- encryptedSecretsHexstring: encryptedSecrets.encryptedSecrets,
41
- gatewayUrls: network.gatewayUrls,
42
- slotId,
43
- minutesUntilExpiration: 3600,
44
- });
45
- const encryptedSecretsReference = await secretsManager.buildDONHostedEncryptedSecretsReference({
46
- slotId,
47
- version,
48
- });
49
- return encryptedSecretsReference;
41
+ // const { version } = await secretsManager.uploadEncryptedSecretsToDON({
42
+ // encryptedSecretsHexstring: encryptedSecrets.encryptedSecrets,
43
+ // gatewayUrls: network.gatewayUrls,
44
+ // slotId,
45
+ // minutesUntilExpiration: 3600,
46
+ // });
47
+ // const encryptedSecretsReference =
48
+ // await secretsManager.buildDONHostedEncryptedSecretsReference({
49
+ // slotId,
50
+ // version,
51
+ // });
52
+ return encryptedSecrets;
50
53
  }
51
54
  async function request(chainId, houseId, signerV5) {
52
55
  const chain = (0, configs_1.getChainConfig)(chainId);
@@ -15,6 +15,7 @@ async function openVaultPosition(chainId, signer) {
15
15
  const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId, signer);
16
16
  // Get parameters to check vault opening fee
17
17
  const parameters = await lendingPoolContract.parameters();
18
+ console.log(parameters);
18
19
  const vaultOpeningFee = parameters.vaultOpeningFee;
19
20
  // Check if user has approved the fee
20
21
  const userAddress = await signer.getAddress();
@@ -11,8 +11,7 @@ const contracts_1 = require("../utils/contracts");
11
11
  const artifacts_1 = require("../utils/artifacts");
12
12
  const _helpers_1 = require("../pools/rwaVault/_helpers");
13
13
  const ethers5_1 = require("ethers5");
14
- const encryptSecretURLs_1 = require("../oracles/encryptSecretURLs");
15
- const chainId = 11155111;
14
+ const chainId = 8453;
16
15
  const config = chains_1.default[chainId];
17
16
  const TEST_MNEMONIC = process.env.TEST_MNEMONIC;
18
17
  const TEST_PRIVATE_KEY = process.env.TEST_PRIVATE_KEY;
@@ -38,6 +37,7 @@ async function setup() {
38
37
  const rpc = new RPCLibrary_1.default();
39
38
  const provider = await getProvider();
40
39
  const signer = await createWallet(TEST_MNEMONIC, provider);
40
+ console.log(1, await signer.getAddress());
41
41
  // const rpc = new RPCLibrary();
42
42
  rpc.address = signer.address;
43
43
  rpc.provider = provider;
@@ -66,8 +66,27 @@ async function setup() {
66
66
  const TreasuryAddress = (0, contracts_1.getContractAddress)(chainId, "treasury");
67
67
  const TreasuryABI = (0, artifacts_1.getABI)("treasury");
68
68
  const TreasuryContract = new ethers_1.ethers.Contract(TreasuryAddress, TreasuryABI, signer);
69
- const secretReference = await (0, encryptSecretURLs_1.encryptSecretURLs)(chainId, ["https://oracle-config.instruxi.dev/sxt/encrypted-secrets-get-attestation-amount-by-token-id.json"], signerV5);
70
- console.log(secretReference);
69
+ console.log(await LendingPoolContract.parameters());
70
+ // await rpc.pools.lendingPool.openVaultPosition(chainId, signer);
71
+ // const secretsReference = await encryptSecrets(chainId, {
72
+ // apiKey: process.env.FRED_API_KEY as string,
73
+ // }, "encryptedFunctionsPrimeRateSecrets.json", signerV5);
74
+ // console.log(secretsReference);
75
+ // return;
76
+ // const encryptedURL = await encryptSecretURLs(chainId, ["https://emerald-many-grasshopper-318.mypinata.cloud/ipfs/bafkreidwvgtxxeijgdfpujh7dh6wwliomxsmn2qg4ey37ql52oqqoly55m"], signerV5);
77
+ // console.log(encryptedURL);
78
+ return;
79
+ // const secretReference = await generateSecretReference(chainId, {
80
+ // ATTESTATIONS_AUDITOR_BISCUIT: process.env.ATTESTATIONS_AUDITOR_BISCUIT as string,
81
+ // ATTESTATION_BATCHES_BISCUIT: process.env.ATTESTATION_BATCHES_BISCUIT as string,
82
+ // ATTESTATIONS_BISCUIT: process.env.ATTESTATIONS_BISCUIT as string,
83
+ // BLOCKCHAINS_BISCUIT: process.env.BLOCKCHAINS_BISCUIT as string,
84
+ // SXT_API_KEY: process.env.SXT_API_KEY as string,
85
+ // }, signerV5)
86
+ // console.log(secretReference);
87
+ // const encryptURL = await encryptSecretURLs(chainId, ["https://emerald-many-grasshopper-318.mypinata.cloud/ipfs/bafkreifvuyg7rsfx2wbyeulc267mvg5nwak2ggaxnr723zbekuzycjiysa"], signerV5);
88
+ // console.log(encryptURL);
89
+ // return;
71
90
  // await (await housePriceContract.setOracle(signer.address)).wait();
72
91
  // console.log(await rpc.pools.lendingPool.getLendingPoolInfo(chainId, signer.address, provider))
73
92
  // console.log(await LendingPoolContract.rateData())
@@ -77,41 +96,7 @@ async function setup() {
77
96
  // console.log(tx);
78
97
  // let tx = await StabilityPoolContract.setLiquidationVaultTokenSplit(2_50, 2_50, 90_00, 5_00)
79
98
  // await tx.wait();
80
- return;
81
- console.log(await StabilityPoolContract.liquidationSplit());
82
- console.log(await StabilityPoolContract.liquidationSwap());
83
- console.log(await StabilityPoolContract.liquidityGauge());
84
- console.log(await StabilityPoolContract.treasury());
85
- const tx = await StabilityPoolContract.liquidateBorrower("0x8DCc5f781933A6232d7aA6003cb5b07138B7A8AA", "0x0C45430F37ce079740b55B323c090b3B498DBdf0", "0xC3f1d3048fE5De050ca2965e47981f5C0039A2d8", new ethers_1.ethers.AbiCoder().encode(["uint256"], [150]));
86
- await tx.wait();
87
- console.log(tx);
88
- const position = await LendingPoolContract.getPositionView("0x8DCc5f781933A6232d7aA6003cb5b07138B7A8AA", "0xC3f1d3048fE5De050ca2965e47981f5C0039A2d8", new ethers_1.ethers.AbiCoder().encode(["uint256"], [150]));
89
- console.log(position);
90
- return;
91
- function randomBetween(min, max) {
92
- return Math.random() * (max - min) + min;
93
- }
94
- // Pick 5 NFTs for the deeper cut
95
- const bigCutIds = new Set([10, 50, 100, 150, 200]);
96
- for (let nft = 1; nft <= 201; nft++) {
97
- const price = await rpc.nfts.getHousePrice(chainId, Number(nft), provider);
98
- // Decide discount %: 20–30% normally, 40–50% for special ones
99
- const discount = bigCutIds.has(nft)
100
- ? randomBetween(0.40, 0.50)
101
- : randomBetween(0.20, 0.30);
102
- const newPrice = parseFloat(price) * (1 - discount);
103
- // same format as before
104
- console.log(nft, newPrice);
105
- }
106
- return;
107
99
  // Add funds in the Mock Liquidity Pool
108
- const CURVE_POOL_ADDRESSES = {
109
- 11155111: '0x645A38Bbe56Dc014fb28536bEA9796b2b2D92c0c', // Sepolia
110
- 8453: '0x5eb3Bc0a489C5A8288765d2336659EbCA68FCd00', // Base
111
- };
112
- const MockLiquidityPoolAddress = CURVE_POOL_ADDRESSES[chainId];
113
- const MockLiquidityPoolABI = ["function add_liquidity(uint256[2] memory amounts, uint256) external returns (uint256)", "function getTotalLiquidity(address _pairedToken) external view returns (uint256 raacLiquidity, uint256 pairedLiquidity)"];
114
- const MockLiquidityPoolContract = new ethers_1.ethers.Contract(MockLiquidityPoolAddress, MockLiquidityPoolABI, signer);
115
100
  // mint 10 million in crvusd
116
101
  // console.log("Minting 10 million in crvusd");
117
102
  // await rpc.wallet.assets.mintAsset(chainId, "crvusd", 10000000n, signer.address, signer)
@@ -131,29 +116,34 @@ async function setup() {
131
116
  // const liquidity = await MockLiquidityPoolContract.getTotalLiquidity(await rpc.contracts.getContractAddress(chainId, "rwaindextoken"))
132
117
  // console.log("Liquidity in the Mock Liquidity Pool", liquidity);
133
118
  // mint the current user 5 million irAAC
134
- console.log("Minting 5 million irAAC");
119
+ // console.log("Minting 5 million irAAC");
135
120
  // await rpc.wallet.assets.approveAsset(chainId, "crvusd", await rpc.pools.rwaVault.getAdapterAddress(chainId, "crvusdadapter").address, "5000000", signer);
136
121
  // const data = new ethers.AbiCoder().encode(["uint256"], [ ethers.parseEther("5000000") ])
137
122
  // await rpc.pools.rwaVault.depositToRWAVault(chainId, "crvusdadapter", data, signer.address, signer)
138
123
  /// END OF ADD FUNDS IN THE MOCK LIQUIDITY POOL
139
- // // send myself some CRVUSD
140
- await rpc.wallet.assets.mintAsset(chainId, "crvusd", 10000000n, signer.address, signer);
124
+ // // // send myself some CRVUSD
125
+ // await rpc.wallet.assets.mintAsset(
126
+ // chainId,
127
+ // "crvusd",
128
+ // 10000000n,
129
+ // signer.address,
130
+ // signer
131
+ // );
141
132
  // set the base uri to instruxi data gateway
142
- await rpc.nfts.setBaseUri(chainId, "http://44.211.155.244:3000/v1/properties/", signer);
133
+ await rpc.nfts.setBaseUri(chainId, "http://3.86.253.54:3000/v1/properties/", signer);
134
+ return;
143
135
  const RWAVaultAddress = (0, contracts_1.getContractAddress)(chainId, "rwavault");
144
136
  const RWAVaultABI = (0, artifacts_1.getABI)("rwavault");
145
137
  const RWAVaultContract = new ethers_1.ethers.Contract(RWAVaultAddress, RWAVaultABI, signer);
146
- // @ts-ignore
147
- if (chainId === 11155111) {
148
- await RWAVaultContract.setVRFConsumer("0x244dC85807D947B2c590DEb1A340B818d5CD59B9");
149
- }
150
- // @ts-ignore
151
- if (chainId !== 8453) {
152
- return;
153
- }
154
- console.log(await rpc.pools.lendingPool.getLendingPoolInfo(chainId, signer.address, provider));
155
- console.log(await rpc.wallet.assets.getBalance(chainId, "rtoken", signer.address, provider));
156
- console.log(await rpc.nfts.getTokensByOwner(chainId, signer.address, provider));
138
+ // // @ts-ignore
139
+ // if (chainId === 11155111) {
140
+ // await RWAVaultContract.setVRFConsumer("0x244dC85807D947B2c590DEb1A340B818d5CD59B9")
141
+ // }
142
+ // // @ts-ignore
143
+ // if (chainId !== 8453) {
144
+ // return;
145
+ // }
146
+ console.log("hello");
157
147
  // // // set the oracle address of the RAACHousePrice. TEmporarily simulating that I AM THE ORACLE
158
148
  await rpc.contracts.housePrices.setOracle(chainId, signer.address, signer);
159
149
  const raacNFTAddress = (0, contracts_1.getContractAddress)(chainId, "raacnft");
@@ -0,0 +1,4 @@
1
+ import { Signer } from "ethers5";
2
+ export declare function encryptSecrets(chainId: number, secrets: Record<string, string>, outputFile: string, signerV5: Signer): Promise<{
3
+ encryptedSecrets: string;
4
+ }>;
@@ -1,3 +1,5 @@
1
1
  import { Signer } from "ethers5";
2
- export declare function generateSecretReference(chainId: number, signerV5: Signer): Promise<string>;
2
+ export declare function generateSecretReference(chainId: number, secrets: Record<string, string>, signerV5: Signer): Promise<{
3
+ encryptedSecrets: string;
4
+ }>;
3
5
  export declare function request(chainId: number, houseId: string, signerV5: Signer): Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@raac/rpc",
3
- "version": "1.1.0-beta.60",
3
+ "version": "1.1.0-beta.62",
4
4
  "description": "RPC Library for RAAC ",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/types/index.d.ts",