Skip to content

Lender creates timelock#208

Merged
mergify[bot] merged 7 commits into
masterfrom
lender-creates-timelock
Aug 4, 2021
Merged

Lender creates timelock#208
mergify[bot] merged 7 commits into
masterfrom
lender-creates-timelock

Conversation

@da-kami
Copy link
Copy Markdown
Member

@da-kami da-kami commented Aug 2, 2021

Instead of calculating the absolute timelock for the loan offer (which would mean that it already "declines" while the user is still chosing a loan) we use relative loan term in days and the absolute timelock is calculated by the lender upon loan request. The borrower has to check that the timelock is as expected when signing the loan (has to check anyway).

includes upgrading to baru 0.2 :)

fixes #220

@da-kami

This comment has been minimized.

Comment thread extension/src/components/OpenLoans.tsx Outdated
Comment thread bobtimus/src/lib.rs Outdated

// calculate the absolute timelock from the loan term
let current_height = self.elementsd.get_blockcount().await?;
let term_in_minutes = payload.term * 24 * 60;
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the loan term should be a unix timestamp. Nothing to do in this PR but I recorded it here: comit-network/baru#41

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I gave this a shot in a958f84

Copy link
Copy Markdown
Member

@bonomat bonomat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does the test run locally?

@da-kami
Copy link
Copy Markdown
Member Author

da-kami commented Aug 2, 2021

Does the test run locally?

As stated above: Sometimes it does, sometimes it does not. Repay is unstable but was not touched, so I think it has been unstable all along.

@da-kami
Copy link
Copy Markdown
Member Author

da-kami commented Aug 3, 2021

0200000001038becb8b9a6501611a9a49cbbf8748bcd09a1486b01bb22630d61a5de1dc87120010000000000000000bfc1bb605b55a079c2978f17271e549e4b7842665e8bab305c1cdf240dde4e1f0100000000000000003e700e1dbb883ad57c2e9b6210c70025a6094d924f945bb82309839470172897000000000000000000040b6b0d072512d08ccd6e5f01fc007019d8d393e6d89e046b84d0bb0061267975b008a31ba1e948b3bec5dbe0c3aa2cd47dd745d90edca16354038f1b6d4aee7b14fa032ee6f308fa13e2e9a2c942265c7fd6d52a0237e1326c96b9556992eee80392e0160014a3fea0b1b9532a4d2ecabc2ecfb0b889d7fbd7140aa98bf2cc6469f497a04f1073041399f2b998c8bb09093c62aad92ea2d3b1d85a097a0a85b71dfa86e4991cee9012097e3309398cd723c31da3016dd627200e9be2033c58e401b27f1099a362655dfdd32e4daf86105a07c726275068a296634d6f3a160014ceb8770843759f7fc2c3822a24fe0cdb691757b00aac4dc92b1cc40bdaa41ce6e94e9d57582f739d241298a1dd3a32172104caff54085dfcabf2a4024da5642a2424cf86c615bbc17421b74cf18197e51363321f604902e317f0366819bf64adef793eb24d5816f1dc6ca92b7faa41048058f1698a52e0160014ceb8770843759f7fc2c3822a24fe0cdb691757b00125b251070e29ca19043cf33ccd7324e2ddab03ecc4ae0b5e77c4fc0e5cf6c95a0100000000000013ea00000000000000000247304402200a886ced73be6d648c21ddf260bed49a2292c2fd4743f4266612a4de731bc09d0220580433c91b76fedafc082e5fd0dc4799f3e69006cdb57ea5039707fa25a518740121039cae1cfa8210b4b935d189502eff6c4ee2ff410ad96a497e8d0274b02171e39100000002483045022100f4cb8894f90776b90b4687b838497cbdfe5d852768ffdff608c8201706315a1f02204cb4e387b9cb5c73dbc692afca778e53ca0a78c8cf80256c98f55e830fd7740c0121039cae1cfa8210b4b935d189502eff6c4ee2ff410ad96a497e8d0274b02171e3910000000000830300073de401e3e9ba83ce930ee38d4bba8844e5dc3dbc4ead5d9c422968f69fd22af3433c3975f7b717a8600c6a8eda70bb41f3136108a623c5d09bc6dcd63a0a97d20880798a44426886184b4b406c74a0358e05140c1655a1156441db34d091bce5d97c7afc66c4061c1d9c0c6a70a6499a2c0eb336b5e23d264a04c2073eb26146fd4e1060330000000000000001f5fdc501960bd1f426e078811d70c73607d640cfac776fd8490944939c954fd839afc0cddcf8071e1feca566fa5d1cab8d6b742193eb5c69db1fb43a43af8e1985035bf5df8dfa415fba3780fde19dcff8a24e7d502d53dd3101127cac0fc45befd1eea512e526a2969f09e722b2040a03992fbe6437a2ad369cfbab79f3dd26684f7fdba15fd04ff07a78b0b1f422169aa7f0c2f2327409612cd2e2fba58990f4bb0dc90ea52f6947376383dd566395768ad474ed542c59e0e2bb139f9d7048e3add114338cd79df1b64288d427a50e0fe45563da7097d9d0df119a6661de836aab8d2d261740fba589174dce99c5dd307c3ffea10c6907edf2b75ea46aba98c7f0c4eb547152a76cc53f20230793e473c6bc3d0bcde1bdd77c7c86ac363fa26b345783bd350630491b0ec712a6326d412af85a8ca4914ac8114a2c9390cfae2ffe197358847a9732a4cc88da3de407c53f8f0f9b744e6b52a543dade44d3aa1c436264870c76d0f3e400e0dc116bda1842bd47647400df22d7531c592f72efa08ef4db4fa008cad12117243efc0f92991a483f16dcefa5eba97887fc8d59ee8ccce1f585bfbc36f74ef84a634419797dd4d2763985a1b42dcafc2e7f71a459a62826ddffe0f9028c6bba5a2dbbda0c06f7ca7c6db55b0a25828e706c4d7da9557eecd3c2fe3aafa2dc9e08e341dc2ecd0e6febb79532a72ed34d9a3300c258a65b7a32322c18dd17aa13281d0623b83234c164c1ba97d22c682b77affdb9487c75c9d4b36388d506134e39f4ab70411075254ec3880d36a5c671af86ab244689ec3c4e87e9608c6e2263e27da40711d0848e0b70d2b67974c2b1ccbcfb7994ed67eaec99e4210f1adb7819d21b110ce22ca94a46bab6a45b2795f7406ae2a078c9459396f787ffdcf43aa48684ce0e70914609189809408a3db588e34a0baf85cbb92eb86bd8c9093ad383d0eeea78a5873e4b1a3df7e523a0ec5083796a04d750b671e411ad0eea7c7133ecef85d12eef5132b7f3d0e977fa6014b1e9765f3eeeff4773da7eaea4fc9cd6a9dc3b5c3ccf7687ac314ba4f9f2db6c48f3f115831211de4ee07fb21d6e8eb83c94fab68e98c7a8f13eeb18eb843b7d9ab725fd995fae282384840412ae608aeab5d5592d7631855a145a56f5f27d691859e097909128cd527a2a64f5d7e12f6bd1f08dba39445dead1c8969fbce0889df2956c5de7199280048b787ed300ba244273817004ae84cbfae94ea34075689734e8c7cfc47df9d5c4e815c4ca89f094c5639b292fe23f2aec047edbff4a6abcef23ab9a5062d8ccf1e87de7f705836c36159b4d56fb5a795dc1290f04cda528bb43f2282198968046e4670ab3e0942ecd80a7ea58a97315cf59c77932f0803917c6d2b9bf6016e47d1931c9315f5243feab216d1f243a5ba629b012d0b3603fb5e9edbb1e65d47321411d65774ff4152e94b2cc56bf9bc75d6c267e2309e6a5bd9ad3c2fc958d0695cc9b8b8b337f085ab9561332f71e7b2831cc6976871bde84b5e8ee42a96355e8f1c6a457ac0609d4c347ce695207b99a541be63e3b308097f56a326d0e6658cfb3dd68e3ebe8785914466c9f4500c82fcf6aad52d44fc4f07cef13bdfc8b9051b8b27da9a87a4a27298db454ae706d36075ad4b11e4f23f7cfd1e9b2fbe58ea923fc22ce187c4629af1c893e73586219f5984f8aabf4df90650650db1ce5124678f8d493c4cba80c2bb2bdfaf07be37abfc388c125bfa4d87d3311227a28674b442b04bb9fde0a2cf208d100c2525d0c0a9c7c3ffc023b52a50d109d1c97c33c0e20db42b9f8780f6c7e0800c6d5f9f71809168a322d9e5af12c953e23c51ed9e09b5be53a024d906a581983123511fe9f5ce9af93e19551c258f784531c3f71df92f5fbc3ccaa400300cfd0dfad2d8260c1013baed2be5457c78859443608f425f54ed9a3b4b7a5eec3a2ff047daad4a2f7f0d043310f4c1e8a11ef380cea7869752e54abe9987cc15374845be6736e90c63519dfc2582974cdcb7ba833ad4a4ba0c12bcf70456fcf9f86ea51529861af74de610a68463e7c82f007157c1270fb6ff09dd18aab4b19d081524ff7b36fa1d72bda05ed9155876778f505d65e29f831da18e80f67814f40690749fa65e7460581fae39b52e3f3246d49f66772377124af5bc9a6db720bd79d4898478c34ad855f6734ea6f56ecf8e8c5ca68365fc3bde76432ddc50e86a5fd2493adba788be950a80fc82d4ec26a2aca20c65216edc86b9d0a023341f49ee8d719816aaeac39f204d8351f7a77d21f13a22fd828ec9297c7b6108b07fa495c401a95ccb79b4ebe760e766de495c38b39043da2ead18a838463d8c7735fc1d1f7ad2feef37e3cacf0ebbd0e212519b53e7fe69f258eaea25df9f38d14966eab656e20774fb912d99fcdf1119ec6b00f88d7da576382ab2457699d5771b5874c8f747f9b430079dfb1be86f742e51e9ac53446f392a205c1aa9d3e4ee44ab755a54e022562b6e1d55980fd8bc4d209fdf84bee2945adad6aeff0d0c754167a314e6475c321f59f8a4787ccaab2a865afe9ed021e682f332fc7a6cb3eeaa29301d581777951a75a2269b41979f29c33297f89a8bb61c9a8baf03381146d0cdc8bed91069eeff743715d422080ee9ff075c905822f34008190d9995df4644038878b1c3af316c4a405c1c9cd8ad233fc848a992d05ada65d7d45a5e4d644e4f7ad5c4d855458b2b6c786f048530cb9252e3fcc3cbf1ab5f6c16c9ae23df1daf453f452431980e591e666800ca152fe28786db52f22e3ef59739ed03ba3b247b309adea81b6db6003f2a8f54fea2caa1ff6ecff299766434266eaaca04416fcb6944ffb67641cde46fed2ac19b75fae3a1d4e7305007201a2a52322c3065a5f5db19fea540575c34a134e53ce24947b59105762bd6ce0842b3c6bbf314b97e0b2dc786caeb850e647abae6568b0cc936f7ab783c4388f80c7c65184e32e30887591743cea29993c4b784569839cc63ddc851830490ec7035cb3a517d130e1d78e12323cc6c3c9baf21d22f3a3064ce6259c7a92069346893a49126f8976471e593a6d94489ba926620ce67bb4f2506b45802ee7b63eb927ccdb3d0c0ff24f0f473084a2119b2a11142fc295959b7d4ccfbccb2a60d0ee2fe6e4a7908a25d9d6a01c058dcc42c2ac0cea786c1cc904867658d29de490689c9c4b6749ea64b4339f1204984bf6367396ab52dd7d0649c2c8c576236dd19ebc89b27d3567b078293cae4d6cf029d93f6ba9655b40ae3cb5a69a678dc43413853c0ed4bb3279376ea09afd761e85d75eb1fd0132b891ad50cc9f9cb3039914022c3695c385a64715a20f4a67ff25de50aa25c7013a56ea6d927c3fa3c797da35f6042bcd1de113af1b9ec0c984a4593541795c2e4c1d105e4c7089645882f4b2144b5aecebbb9066397dac1b4b1a6dd7d1626e2e743ae6ed31cb46667bae247e5c89df59b863a626c88e01bbbdc8779ae69a0ee4f81e5d34040fe7f2dc9a604d96dc6ed0cb205b72def90d0affe5df3970f164dcef287d6d74380c400e17b1bd7f365aa03647fa423e2d2f1d6c1a50cab305862432adc4ca354d21c337798e2dc1a0915886e2a5b81b109f1d861d85259079baa569b176e0173d9ee9c3797b21a42f5c418d5f4c52c0f9dcba685d8bb3325d15db76a7be9b68d8421192768518f50101fe8562ecb83c1f4b851c3ba4712f402d74e9054aa72cfac646ba3ced7ad0e54d897be68273b3f2451353a0594cf0d881a0cf31b3b5da197674734750fd158f3e6922e49aee9cfc898c56c6f24966340fc596b8194419d9416578425694df98da8643191baf9710285cad427846d0e89adac8740de7a755d05e9c81beef8a9b591ad9990562458c89fe66e538ec384e3630f956cc85eb7fd750dd537de34f7f0ed7d2b06707d062d7b968c54e8d92e917603d635e1b40ab6ef4bed11bab2b0dd3913246f404e2684363de5d8337010c2c3ecc998539ac3ead20862c10db723baf777988fa0cfc1b30eb1a2a55996abab05b249406365c4d8aaedbbff84d09013eaf3e123bc96209f5c6e83a074a88db7448e9a88fca340cc7e98fe3bf08c1710f7cc1d44d87e091e850b15ae3cb71e2831e11ecb062df6244e35a469e11b44e802cf1f81339753a44aad12d3346857d86e5d8dcfa52f8800a0139d7c92419583d44b84245d6eb59ae2247ce3cf31270fb29ee6857266bea402def3c10b19ed7a98f6c2f1763bad687d59cfcb0a46b32cac816ad5794a3ddaf6a5f358da34affc8e81793238fadf757ff2cab5e65766bfbecf87b9c15568eb6035103894097fe4b1f7c62dfffe8dc4c4c8da2204caf4de56fc8757a90768352f3e198f6a6dd8387389a90d995619a67bb2e97899e69eb112da97103944fa1cc097cfdf5cb92106ac259d26905b9d911071d5b1bd778e03c4f6a664a210d87c1db9432ec7167412f0e8ce0b95a6cff72fa5b87f0d158f489fbe5fdbb3cf07cc2226afebbe65ea22eeb33dc614bcb8b4091073719f562496077c44525fe7be400125dbe3025147bc53f4c1bfb1183153c6d53d3356b1f791b4943cb7e9a039a6f03be3d05c74f916958c0bcfc2be34960220e44aac244329f2c37c9794880466699875f19c9417d164ccfe51f1c83e03b98aa85e8995ace2351071f4ad6b2b93b937774d5ce2c1c51959f600672f77bcb2ab4138f52f77c192e6f19620c8d9e4447adfd324981fdbe40f7d89d5fd9b2befe97458a78f64403f614dd8c070e81212df05e2d78eeabf6bb18e545a2ebc39bbb24a37fce23c5d4d7004b1ac1838c45d3258fbea93b26e918125e5518b37da58e605af609f96003b766b1014edb7cfdb5714dda1ee1d28f47ea2cbc76efe6a630250db1804e8e9406a68d39d1da467014fb1f72b8571fda0ca893c02dfc82fa43964cfdf0a99facb71b4f4456e12091666fce179fcc40733c354ebd3575665150ed6cabe5975943d4bb66ae56ff1fff77fff0c646cceb56a297535bcd22278cfa4246c1e5c0e27b80c97747cdfc3d2d91631baef5436fe0cf462641d192330b0cf6909086e8406fb66fdf25696f144d1b91cb4905cb4963911cb9123e3af75c3eef83179c2af37c4fb35fdc8464c914bbd261f5916841fc2b7154d1d379a1d3c3ac1eb131067d1f6f934a55b0652fabb934f2468a62bc56d9fb67aa3f8e3308ca0c12fd353ff3034a576d1e7d321241593a5ddad80abc559759d62ccbd35817c0bb4d665aa1084c39906f68c8e7e8597528fe1dc3a979b7a4580fa57e9bef0e355cd5175e37c6637e40b371e74c547254cd50f707ea9b374c2ae70dc150a65f8c8dc3f2fc132c31c46d3cc5fa0dbc319fc51535fee348c2abd58891656143c5dca48b237110c954ec1ed74adacc1de6acceb9d051c85918b9085ae8e7b8a84b2df8b3ea72e92090be8e861030bffe63ffca9088f15e4fc29f6af05c49aab6306e872938d07c710311347689409281fd4f2f08595e790691f25383fc9cb2b3e1e6c63c0698b98693a9fd3a06b466ea53be2478e3dff9b6357210e2cf475cce2290ce4cf8b4223ed3cf39c3486bb270b71522273ab652140320f9d9ef6f49484fc7ae2f44248f5e0ec584450bb2e36baf20afcf252d16376194aac7c4f9d3dae680b37cee854fd349495e684f24de5aeb0576347cc21ca3bd46447d91a7b1ca49aa96ac2dc5311b0409d2f62df9f8d289942a4f2de92c5514f20b76afacb0272fb18b29e69cf95c42cfdd4f87690194c165ec6d913717703c9c625973f6a1377bff857f45e18969b1af4a5c64d22d1b3ab3d6f9f04aec3fcb677cefe3c56450381b9c209dbfd22e1d7597b718fe35d4153bcd83030007c5ae672d2e299bf41e31fc0a0a3f01be5ee20ec47e9c2d6ff83b9de6cccea9855e88313fe31596c41000d3ab12e2913df278ef6d45300923941b9274d4f8428fb7d46100ceabea40bf561056b6d62117abf13afc5da0fff124fd608e054a4b69237c1a3ff5664fd92f207a5f92923beee93dfd590664402c634918fd6eeefb11fd4e10603300000000000000018e68fb0014479089205cddd7f8b926ce3f2a89d1e14e36e2c12c1aacbda83680ec768523300d43b44feeb8a01301e82e50d61f01cf3cdbc4a3d747fcbe8098af483f80a606ede974fe3b38f82a8b1a28633bdf0621c7b09f77f38d291d5881ec76bf51bbac43a4067829d420c70201f86404e86d6a2c76e0536899162f6b2ebf2e48460c5a1c42667b9b8036e5d1eda3fc1f8f3350ce5e6c297ef434e5524061805e8a87193abccb86decb3e1e9dfe0e916b5add201c5d05c724129c8581b2c139239e15a4f2461e63f977a9fbfd4b27ad28bb155aec32f7aa30d9b7d4e0cb8f027c5c8c55063ce48de18671b9d09862fb0dc5811475ad5ec7617f88f9323b8111a4b6f1286a9cc1f422a52fda0f516f0f5d59c5ba2abaa136aa77fb57d9fbff39fee621bc8df19b5da84a07165415ac5e32d2f05647bdf7af02915e43ea5737a823c9f9f6bc9ac5a5fb06605f63bc2bdf6e8cd8805deacd3c5ca278934ff0f090e8537f25f02c2aeb6ea4ea09bfba4620a9e8f1d384a908fac3c3f39a40e07e7441b20c52d63897b78e4f7cc9e91fb2bf0aa463068c019b0f1faab03e0fefd996acd5fa857a26a36a51becd04b59fbad4fe6950adbf8dfac3c7ef4e3a1d0ffdb978b6d4485f9b088f60ae264c652682627414b74a7b35e8e5f1a71bd6669f96d6c1b1a66cef04496953f42849c8a780c94b8983ff308073f5154c6766daaa9dd2e02db4e2c2969655f2c36866e013a50464384fd6e10ea10daac68cc33c75acdf0bf81f4b3861f8398caefd6d6fb07da83dcf2de15f8d0fc0ac6d87edca7d250a06848edc5b67bab4afd143d41db1b25146993a351f2188e9f264dda208a3f1cc4f893f6d9088c94cb17a8c1b246b50f893582bf2f67996f1cab5a9821cc552066beff8980c4fb48e976b5dedb8dc949c089c90d2211486cadfcd81b892319c6143ecee6c2e2b1bbf440ffb0f979240dee7eadc04ff26451d34883ec63f82e59e6e44b5f0b824ae8e783f64640176ccb145b20703dfd7a62934ff60e77887e084722e47c7d90373c04cc309b3bc82b7d6fb0f5e1ea866abf6c5d97a5911b2a778ca96e16ae680e3ff2e9731e5e9f6fa982ff7e3498b3568be68554ce975697c3c024c85b4b6f229e7d7f183041e651d3d53986e5a8f166a3176c73f6fdd9e43c3d43f55c9ce2fc0e341ed37596862c6d268c39848e15239835fef782e5be9af3f6d46e6e8a33b2eead0fa70035f07ba5865c644c2fe9f3fd4eeee1ea61c3563589040875a19559b0b548543d4e1e63b09963fc5a79b0d63361e5b9d5464c9c0346a366a10ef270cc712e3f060040acc90c640fdd92e34e22e7d9f8bd53a9e82863df647ab61c6699e82636a0ecbbef03898680cf8602dd4767ca2a52287d5c3c90711dfcb1e980e71882b654355bbbe7a36a7f6e50059359f692782bbcc1f0a65a475afd3202e96e84b7405917a1364059aaef59274db839b6b37fc57b23a3bc0476e6e0070139256ba892cdac4c623bd28daf47ee63a8199395cb6376a697d5f7fe185c2dc723b73f436c583674c3600932b4eba2df96e2aaec166b4ceb1d504dc8bd2503cedc546ae18038764c3f576ae1e40d23005ed75145c7fa74f3ada65b58d35b12dc567f743e3e2678097eba6f787ce4782e09947376d4a2bb70ca5540036ad17414b17397907c809dc1e0780cc0ba529a4a8f21a2094ffb7707b58170da83e5cb10f84c9119f405b01f4b4b68bab965fbbe97f7e3eac9a5d523b397691a159d23e1605a11086d9085586d108ba1f26e7634a070eeb42f21f2ca089c080772ea18836f60b72afe7fa03cfbb122d10ab9f1a3827ea2e29587562f602b2df4dd37a46dac719c38d44ed88cc4f854da9ac6602d5a97bd7a5e1d4827d03f5fc46d5327ab25413ad6ae79d407545fda56d1c90302db9ee9c7d4a27741cae7e76189e7fb880ca54e365a8fb9414ceb5f50675e7397440146ed2275418070bd714c71566d7a7328a57e42a2ba93ce8ff6c3c9548d0b4d92e3bfa5498822fc16f9f01f37647b2ca51dcdd656d493bf366fc21f1ac8a26b47569665d4d1ae4681f4e987bb789fd7a6f8bc9917f917b84556d8222c818721f6c0bc0423d45b543375e3200a36cee3b03f859ef9437eaed306b7952166c18f15c424cd5ee1400b96c0ae6eb5aad3a31630438fea4d99db000912f949f7c62f11a3c675c58a9fbbd8042dfc0e6a6cf64fa0d23d08973a907094f214ed85532441b3545d407a2cc2194d3a2bf720e8cda90aeb9e2621e738aae01e89b4ed00fa6e8a64712bbeb2f256b5172356b6fa7af6009fa82b04b7bd3af12fb1fc33dd404d22f6c7f6e57a8dc71b6e972344a0340dc17117fb0d6d17327c013d02ba1c705604694e06d8d44c3d7551378c512357db1323399d7da65bd966933f635c77b098ca6b62702ca0544fb4c6b0605fdc515328cee369589ec9c0d32f0300540b2eaa8889f118c4d5b223efc8605691bb3734c5173f2d3924c6406a53ed1502bb90c33b77d47c36fae39b5a665548c0294f7d16f471133d9de6f0e25a27e16c5144c3deb0cef168405b39853bad7f0bbba2641045ad66ae7f368abde1ad9e90bcbf7dd2d90d6184caf15b413c8959e873f93c2ae2617e1d6bfc9b90e84bfda034abfbef5b04a486f31eae674db26b2b3863564574fbde067df2d05dbdca47b8593a770d5ac887482750bed442ca52540d2bd55eb325c458679589dc705395959d54320101519244344c77e4269fefd8dcb391ee62f4265a3882aac8d66d138d1047f5118f3edd662a1d3f50c895fc4b3360999d6142dc53294e44f492fac5e1303ced58bcab5b1d869b9077ca576b6eb3a45f6ff85bd7c30d89310011a0e7100b8c391d72820d14049f427c6361ef46e1a0a7642835141364cd13be1e9c7da57e320cc00272a80df40f8085e415838fe0f4fbcdab8a6add197736c57df727e7dc1ac2a26c55250ad9afe9fba72a49577aeeece9c13323342646ba0596f76e39acc0d0b7cd79bd502fc8a82b0f18e08de596269b5ece61324d02c0b3fd89c53a5d43f4b1d9250bec90a57d4675390a6361a47a44783b5d0c3df7edbe5320fac4b0c10813d35860537ad246293fd32952d488f3ddb6083b64c37ba84ca8c19070f2d3391dbf6d51d503361cee9d3b9b43800e1d1e4c8615286872bdb50cb223da8ddeea4562764b487643ab18d3864eb7e121638a44d92175b5886120efbde3357954ce253b45b4c26542a37bbe8119f2351d715da052fb66da6789f81aecb2325c501cbf05647bb9d8366a055263d18b5bec058a14b9ddfaaf183d2fb5dcf0244a72746a5b1b70abb9c6eaed0501e1d51ad9ea964557110cfefa28038712e186868c611999dc14bf518f3e87c2fbc33ffeabffa5f45a930f493d146a47d9b0ff16f4f759db3debede8675529820ffa1ab981aa2d6aa0ddc0ad7825745a0abbcb469c3473f27ce2805847b535afbee681d1135695e1384bd68783f5a7450523d4ff747e0f86ac37ae2641e70c37ba591f53eeda60926227e0b097a580137a2739483d24540211f1db9d29778ab57f3bfe8f64fd2cd7a5295c0478896c06422c21e0f5262ff432cee0b78252f0c26587c89f9f5c810ece79d574c1de96e176decbe87d0d1106ed9acc1372918c4abcc709b87fd6ade1bf38ae1a5dc85f672c4911c893259c2d973b10853147d65f016bb5b969238e9b83234af827a0fc0c239dd0c968bf98beabccd1a028fd4472e59edbe38475390dda112c87909a0daf777418b24c4b7dda0dd697366894409c9b32b5fca8552f72ceec58d8050096d3e1b31f95be4701b327ee3799a45b90fa09f011c3dbdee19fe80f37f4471a9499d574754e164e8ca51afd38e159605b51e5abf5e95699141f36f733957b6c52beaf2f34c571a3a9ec84484766397a8ea98e8d2219a8876f36c8bf8b6c363370648e42a6952fc95c2156e1dba807bb0f58bf96d06897ed0aaf8f51d615cd32cdd26874b67c365b824db427b8ed21a81fd046ce96e2f9fe6868ea729b8df31aea6cdb1af593abb57d83e6565f533d19735cfb7990820d46cd5a39ea5417f404ea5e782306f4e4191bdce4dce9f058c51171f89e87f1058137896cc9a2b1739c16e08ae20fdb5ed0e3a79fc7e75ea6510d19b18f69eb38a37551855857891f80d1f49a70d754ef43aee127f114a2aa7a730b5f076766350407f7bba9e2bdeb4e7cc8c47aeddef97772e33e4d4aa58f77f6f531dc7e783154bdc714daef68762efd105139bf1036b773afa155de9700b49a246cecb7c697f97f8c60f27a0675a815048aeb21d059d2c14c389ea1a47cc5f8ade624a55e009ed9fcd75846ca2466da817e174cf29279bed71b6d8e452910e53f8ac0abca71820701683bbb3604666539ae3fa0fba90ba2db89819a5702e0f3015cf3ffefe9d86975f8c260c70b1edc51c544909d04d09b98447cfdd9c00916c29ca645bd5059f78c21a93c187d771c95f1927d66107d7957476d2dbb47fc9505f6c8b2c04a7d415fc8268b3b34e1d52660dbdab39930524dedbdcf316fed38b7aa0e035411f5af388ab3d638bea17a8bb4144c4dd013487c19ab654ad700d8a957eaddf5cc1a49a498ba9ff238e7657a009f40c43fd06c4a855a615bee6c6b8eec79c6d63299c5a80e9ad7ea6c3af6dd07b37c0b6bfdb217f15e1c858cfebc0444c61061b033969fef0a241cc6250fa5643570572f27b63f861f36d583e2a60a2eabe3e38dd1ef69344cfffee54d15d063bc8ca3eb85572479542426cb4c523fc837dee78bf9ddf914d06068fd4f266858cb0f7be1ae98ad1e0f3d3cc6689c556791b2886854c1ef61e871341911e13d973b4b55f8a6ec91ee967cae137a3f86b0549752c0e1f89c46436e0aa74df1acd98d83c2769292060859922f7228c3cdee2ed4619fdf1b1c90a39f8ef38a886c08bee40f46c47a2308fe2e1f3d02fd187de9463e7b79e610ff9b92277bfe9cd0f6aea183cebf95aacc36e2806088b109eb33f378988902a57230df4e51e49f025cf193beb9e4ac494624e3d337e97fa355379082fdb630dceacfb8cdab595778d5b9db6de1fb5ab79b0288cfaf8f8b37ea2d31563c78cc4aee8af2c19d07490a67ad9e8ccec9d323aa78c3871c0e94c8987cea8057e9aee8c4f87546304f658b3b8f5ee0b8d2cc16940e1d4d6fe120e95e0d3ae6aeb9e5586c24f0a3f821081ceafbc7f08198413f3a064fb5072193fcf68a98ad316355917f27f49c42fa37faf9fe6413107d09ab003b1fc2374a245fe21a296533ceb8fca31b4905f842f14574d95e65e3bc9a12e675c67a41c2b0b664926d1a5abf9fef51fa18608b2e01ac116dc1423daf20125ac970c081d0b44e44d2421b905d7b65affcc83449349810c6c26d7e1ad6877c2601f133c8c8221af0cf37265de96ed939adf39829d48296734382c0dd73e00df6d3186556cfe314fb6722c86ec19afa36e07c5b93893f72627557f8fe4617026030ac13230c0e430c83eb855548670d90b6afe5fb667bd285196708847063d6c1162c41de5d392f75c80c37913003d90ae50da0c593051f84e0e30be649ba40099d1d70ba6fc837068ea7b8b24e44bf2c21963fc73fe06d1cff4263fe589ce69ae50a9a28c8f1c04045d6818fd68c48079673a5f11009e9f31260afe59985a3df2f428cce35eac2b5be7b5f309fdb3924663f535f615ae43d732114b30a46ce7c24d9b9d6b78ae519b03285f04b7000156111add3cc72ecf99007dbb1c5f50492e9e52206a4b2f6a15ac0e0851fcfdc88c5bf7b0e4a4fa50c6b7e50dfc31fe755136d6b8c8ef4600cf73d2c79edbe6c994e0a8087a37695bc840bf6747e0f99993d5c377f9b2542723830300079b5b00284ce9cf8acf6611656bc7618c3862e6a7f377f98871d4ea334628166d46ca1b5e08a95ff45e529b2ca041287fbb6e8d37a99f9319d3c22c370edc5df1580db956be9521f22badf853168150a94017f35aa1170152942f40b5a6e99786e2ca77e45cfad5883385b4d22f7bcf8d77464e96ebe6c78b774ca908ef974425fd4e1060330000000000000001fb7409009936d85e963b60b382b6d9ac8a1238d483792abf58a3c136bbd18fde7b39c4dab04d1dd39e54cd6a536b164dcdec1d8a6b727219c54af3786a6f6beca862962e49833301da585ea9f253d6eae3151792b664bd535af4c963336f5b0744651c34bae439534e87475fb4f07d861272c1a63fe3c1b9f6e5488d75de7522d634fa32e724781374e09e0768f877c197ea996a4ad67ad36e53e96f7f1be3147f165133f7ff067e7aec9de256cc61a04419a604d256f832a595e696e7ff962bdf17b0c69936963fc30beb3b3b36b9feeb4a0febf5c41d63bb78cebb35802e095a95d661901f4c66718dc2a4b93d310550c54c8d2f766f8faaa3d2da8132844814926ddeb6c24810706803f680912c0bc94d2e10c8597dfe958ef7796770332a79b61b7de0900245861d2085b59d0025c145ff6db4d2af08dbff714a5e4475e0dc9961a51800fd908b9adab3f9a8e461dff894549c36b021c0d53438d0bb42622900530dacbc4bfa5a5ae27e74c909534927bc41c6469d699bf92d4c6d40b0d557bb1c7bb74f488439de6ad3291eea971a740d4b7965e67a668c73468408cbc50a2ff24f22b73126344ef409a2070707fb18960ed41a4153024940b00dcaa15cf56c6666662c45f52e7d3ded37aaf76b60ac3717319922be35f026b7bc4685a34e74b249c7ecbaf18974a48a8de119da6709a423ae16e02db7204b081e787f70e2a967c45c8bdf063dd221e531f97cb065342108c674d60036b063d9891346e467fdd75fc6ebe6d64648ca54c7415fb26d5dab8beb7013f63a67dda54faaa3cfc6740ff16317fcf104913b0bd7375f47fbc5a4ab6feacf94d47cd520423f7abb42e3f80c1fc4ecee4aa400bb032c54365cd60d4300a8167395dd6cf950b5a2f3206b2488fd46943c0d4853037454559a04f2b75f520e873172ef673f4e39bf4679d149f41527a7f4e097bd72ec346d2c948d575e178d94e0f0a25656f987d414238b60fcef509b3c51d21f6fe04330d41638f56d15988e2ff2fe06028595dd9fd6cbacacb8a73177e2f83101bdbd5337e8e6a4443185db81f717d29fcb0272a8af520462cd1e828be0cbd5ea0ef5e541dad90fde6f3e4abbac85de1075062418bda78c9a3f327a6fe4937dd6777a6e71fe44df2c929704756efe9ba9b8416422fc21407b8991419e495cc2c5be09e34493383455534f0e4cfabc488175e50c037b26d26830d37ee7da1f6068f508e4f6aa3ca3115725b7faf105708f228281c46ca13140e4bb45af785bb6060f1fefd45caf7e622119a29f2aa403eddca0b26fadf3282581eff6efa5f2da4c29a8c5d01d0e308b0e83f255983c907c94215520215c6b2fc6a9255c98642d339c0c053f4a12ca38cd3c3f9d5d88e5ffc32cf75079204d0eefdb5755028e08fb3f2dd006cb7ae72dc22a7e1f73ae524f25f0db65a4a400c8b055c816944129ebe91d0082c76418ffabdd5cecabc0f96f205a096c8a7b189d94134faa4d7fb6b8567df5286a8c72adbe07ba79b0a2764b2a19a2063e84a543c41be2375f2d4679194d82325836729bcbe26fc1e73887da763d37989df8ddbd6adff530174ee9818e9767ff39a8b5d0c4bcfc574d83e5b3fe8fa45e8b8d2dcef22fec0500f8de900ed397cd9e183bf45c36e80a1eff596640d2b92ecbe2f1efaa5c9583f061f681955438653070f1bde5f8665ea4f5191e7e275e526d2e744646800d2cb371098c1a18d564568e448d22c04d53bba3a05cd148457dfbf245b95d0eba9ce3d831c421a6482734e4727af97bd9664ef4798ae3cc67a7333b9f86cd167c2bcc4f9edf6c018b31bff342e4d089e3f67662481052147c1acfbe3ff7bf6e08481ec5ce62c225108ded2c22e186ad5b6b89eb2bfcc90975a5f54623e60e4ac3f7f8c8ea79c1c6231675b0ba0bd35573cbbf8ebc3f241e30a48a60da9de8a245728347fcb5afd2fc4741ebf5375d7faa7750fb0c940f0a49ae8e78015a8a08e33e1b4dc16d93e8f5bbd26600e56c8425af45e2d9d5d1153e6ab2d41143daf33e276822dc80aa8c4f89e45295b7964e3c46739f7b6678f65335a03739d40a55c9cfa0b75e7e4b99f9af88e8bab2187d0f85b323a5fadc62b6dc439e0f159a4570aafb6b09ed6c6e74bda39edb739dd8097acf0cb6ba810c1742e843b76d9ccdba7b755c727d2b133bad23d6e40844b40b22220160235add10b8644461581e26a3d3bc2410bcdcc909b92a8e7809b72b3ff509de5f7a032c40830b0295a140e786e100f7eac81f423bc27b2996edc6e504295cc566c0eab2a31b0c5c0caf9b3a46351e19bcdd4d49e651a715315217384ca301cb4d3d21399b18c04c82c25066ef305c5289cbd27b43421c45810c98950e045e54b695d3d72db3fc182a0d63498cae62c1a6e538060a41527c6070bc58bd194895d84c84cd76de4f0a38d79a5a9fc1f348efd9df996be1ff233a12fdf7ebf35b96c3113149a1a7e5a22fae2762e1be511f412955ce325f57f34cf735b0b9c35f8c4203028a73d8445898d636ae6e5159fad8d255643fb893a9fd087b89e62c7256e2bde051f3fb7abf387d02aacbedae0158f50f7ab70ad27ebae9473276610fb1e33f2233dc6edc7f52e5bcb670a72baf8d6e5062d35548551e94bd7dfaf68d16e875da25d8cc949db9e3ae1c705bff7a21a226af772e57171cd480bc412af656e907840adc6136e7790d0c56c12512ec2e239375de46ac46db5f3906c49fd97b4820c3f2a1637304dc8faaeff3f2a5a0d3ba60417c8bcd52e4a7835aa470ccdaf1b3bd7a3fc3e551697c96e314898f03a85afd2f5c0a2b746a19ef45bc5ed46dd64a3cd49d0a6da47f6670e0c6d4efb161334bfc1ac24dcd27318afd2ef248c1bc3b9bb2250e383cd4e03589113a7ad253d0dac1cf83829a1ca335b1f24100f02a2998b0752090d7c04b3173f3d511c4016be90cea690e5395ba8144d0e16bccf670f52893db7a72a8ca49e8ee2c32a0856775d2cd1fdda923ed5d4bd7ea0733520272a85237de2d3b84ea228f732aaa3ce899a5e2d77f6e09d8dd85ccce5a1c1483fe0ad5ee43dfca1df2ba63795cf7bf2545133ce5df96ab7a63305b4d4b0c19016ecdee26fbfb62426f58b0b544f73bedd1c26f9a171947c3565cd3b61e59ca025001fcb2fd1907e292f68266b1eff62aba0354ac4a6eb248ad950bc4ad85235f6ac4819709e8edec5be6b78e3ca715906dfdae4490698148bfba8396728e5beb35e2c58005e4681d315ccd15984ef905bcd1381f69cc29d98323d91c5ab40cbf0ce46500249d5947eba5433d16abeae82733c7058f1b2cbe1b98bc8052970b575183540b8d3a58f2cb9f8d13a3734d055cc457df99a64a42c0fa78f108b46046f7010ee5d17793fa09e0c9b503920269c2ffb5bac23bd1d6d990d88daacfdb8154838a19d1ec73f1a947e963ced20ed52430046d039e9a5a85f6bfbe03b38052461a1623c3c84143254fb5c1a85f4ec0c8098ada53af017fe872dc907d46bd4a83a953136d3e0a4755ecc7711d2f4a922d0660cd46ca31cda561f882e5922223a02ab406e5ee303ac3fe4a880a1e719778af54f8eb7c2bdaee93294cf75163d6fac9543c1ea10206a99e0251f51af37df078dff811cd543734c767ae90cb85e80baed3d1c2fc5c78615d97267cc9973f8a61e86ac10fa17c4a9dc64e6aeeb7ee838f9cf46b1c4866253b56ea359bd7564309bbf7c581fd4ad6902bc9d4208ec7a2d9b4cd2f34c075d69350c6f853a08015213bf90f91dfbb48a50deaa08ae00cf599b0e8b5a6f81f414a21cf98f609375b8f60c63a3841d4ae9030c017acd28557ee2eb6ccadcac9b33dc6e7b305f6a9b0070f0231e5edd2820dc053179e2bb5551c08e5edbb20103ae9d61c32b85509b9dcadea4aac2f73a4bdeed45da774b95e64e635e43ca621d8ebc70637699cedb90864980ce17e218979399990e36639bc6d3c45f60615a2d2b71c40d27469d87d31f85d5cd5965ae26ede6d77c0dd11a5a2ce68f167bdc9eff58e8ca45261af7640e88a9bf85b9c2d3222e96b7bfb763e087df82981ae9b2e4ffb3834ec196916dcb50b624b8798e5d2e2cd4485536490a2e51c2283e22b00ddba197ec5d708aaf7f4c9aaa176e3395b9e984b5f0480c7e3817168f452734929b645c42691896173a8785b1e8974d93e33390df095eba6c15dcaa7bfcf73e06f91876066699afe70085b2c18febbcb100c2781ebcdb37dca4ef9fb81535cd360df0d3c295d8dc4077664858dc46fbd7f65734a8f0dbd9acae6f0e9a651b50b55b2a4521fd14d01ff35583da32d0e3f53627ad33cc7b866e5d4d2f454ee1cbbd5223f0c6e2f708c3b8dbb4ab9a528529ea888c2acc505c97006dd4eb02cf5051fe07ce028d4cd1d947001adf2b27510bab854887fb70e930e30812795e7373527f69d60a6fc21d17e6f51367969c43548e1eaffc75526dcca6e632d5d08642adaaf8a36710a6e2b752379f7ce25c9c5dfc052f27d062109104ade160e324d1752a78e512cf4e229ada8f83640a345c1f03c2a0913c95786448488517e1c14ff339e63f201f28bd084cdc98d87bbf1076296098de66e9efc1a38d8c9e7e52747956450601956006fdd8af6c77b1e6c3865def77bf66e4c5115185712fb097ea960d4e89317663811eff2871ba294ce90736fba21bcf72a8f60e44962e5a88c49d9cc55be19637b88e1b42e5b7029cdae4f3af08fb18720d5cc4a954713ab391d03e097490da1d190f0d86828f624c93990ab3fce78b825751c9f572827df7e41a295f8d782514ff064f76350a2fc83d4d294c19499166f6a87d5244d4a1cb42ebf5d9f62337dc2479ac6dc3a70da8b490dda024ba8661d5c546580a84e6a94452bfd19eae3747808fb5f1c4eb1204140a1c1d2ca4e2723021d8ba9157f380badfe0876e3253b5857df542179502495afb5dff9a74d6020814b90e5b3fe6110d07d8ee0013a72eaa1f521d0abefd61f9b73b64c782a5cfb479ca232673d692bc827eb8c5d8e41e619a2855b69e140be3056b34d94a6413a0ac459ba9dd62244b5d1f692bcb6587fe2f95942b5bc709d4add3bfe285f50ea03bd150fbad506ac8c91f91153f2176de4f30696779a3bd97d75dd0d4f215615bd5d5b7ea77897fac1cb88755ac93c549f4054e11b4e74ab5e55d707cdfe706ae42bf7e523c2caf05b07c785439adb569976e3d1fac3297c505729bf507c3f3d1b0b1e9775164ab34465126d8ca701a98c591aa6f284a097892cade26a5ad6a5be975c4c413b2cd09859f73e8b640958a52452a335d021fb124dc50b24ccab83b20f102c0bc7129c2ba4f17ba56686f5af65316901a97bc1bfe1201876d4a84e1ddffb8cfd1c6a955d889361966c03ae3de33df8e65a2f71f26d4b225781a4657bf413871ce7161b5bc224387c9ece676cdf5c56bd590e4d07198b076c800ee6a23456418431a1e6ed942c288cab7264365edad2da293508a7595318592782bd73537a0be840fb417d87ddcddd87f0abae39b42726dd5744461f0e2fb90870134c4c8916b014493458f9b68a6be90e8ce126eae1e424f7762d1df9ea7d8e161fe80c5be5ce0aaaba0b572fd89dd911ca21ff2f27086773887b9f8f6887c6e4b426ccfa6d4d4c78535f72f351527cbf3db7798e2d4083d0b94543a8414195a7e79d29c1cebec0da7c4a7ab1f6b4df4ec0ce6e6c1638757feeec592f9ae86a501487116097ea2e6e74794b3bacd1bd4e1085110570bd2477d26a2b85b838c244be4a23f3c91786028f105c7b832fe10eb99b8c467f331e8327ea3ad4cc060943632e276c7b3a91f12466e1df246ab09342e90b7fcb6aa53ebd9590f2015a8e9639e677783dd054b4810000

@da-kami
Copy link
Copy Markdown
Member Author

da-kami commented Aug 3, 2021

@bonomat not sure if 75845a9 should go in but I think it does make things more deterministic and does not hurt, so I would keep it - unless it causes confusion when looking at it in the future... what do you think?

@bonomat
Copy link
Copy Markdown
Member

bonomat commented Aug 3, 2021

@bonomat not sure if 75845a9 should go in but I think it does make things more deterministic and does not hurt, so I would keep it - unless it causes confusion when looking at it in the future... what do you think?

sure, can't hurt to have a bit more deterministic behavior. :)

da-kami added 4 commits August 3, 2021 12:37
Instead of calculating the absolute timelock and serving it in the loan offer, we use relative term in days in the offer and calculate the actual timelock upon loan request.
This should help us to see more deterministic logs upon repay because the UTXOs that are skipped should always be in the same order.
An unordered vec does not cause (known) bugs, but the log output can be confusing. Since this sorting should not be expensive we put it in.
@da-kami da-kami force-pushed the lender-creates-timelock branch 2 times, most recently from a958f84 to 3ca9232 Compare August 3, 2021 10:29
da-kami added 2 commits August 3, 2021 21:21
Time is hard and u32 for timestamp does not help 😅
With the timelock represented as Unix timestamp (in seconds since the epoch) we also have to filter for loans to liquidate using a Unix timestamp of the current time.
@da-kami da-kami force-pushed the lender-creates-timelock branch from 29b84d4 to fd5131a Compare August 3, 2021 11:21
Copy link
Copy Markdown
Member

@bonomat bonomat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@mergify mergify Bot merged commit 7dafc8c into master Aug 4, 2021
@mergify mergify Bot deleted the lender-creates-timelock branch August 4, 2021 01:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Timestamp based loan term

2 participants