@suilend/sdk 1.0.8 → 1.1.0
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.
- package/core/client.d.ts +58 -51
- package/core/client.js +189 -120
- package/core/constants.d.ts +4 -0
- package/core/constants.js +6 -1
- package/core/parsers/apiReserveAssetDataEvent.js +1 -1
- package/core/parsers/lendingMarket.d.ts +3 -3
- package/core/parsers/lendingMarket.js +13 -1
- package/core/parsers/obligation.d.ts +6 -3
- package/core/parsers/obligation.js +9 -5
- package/core/parsers/rateLimiter.d.ts +2 -2
- package/core/parsers/reserve.d.ts +7 -7
- package/core/parsers/reserve.js +1 -1
- package/core/types.d.ts +65 -60
- package/core/types.js +9 -7
- package/core/utils/events.d.ts +2 -2
- package/core/utils/events.js +3 -3
- package/core/utils/simulate.d.ts +1 -1
- package/core/utils/simulate.js +16 -21
- package/core/utils.d.ts +6 -0
- package/core/utils.js +35 -1
- package/mainnet/_generated/_dependencies/source/0x1/ascii/structs.d.ts +16 -6
- package/mainnet/_generated/_dependencies/source/0x1/ascii/structs.js +46 -10
- package/mainnet/_generated/_dependencies/source/0x1/index.d.ts +1 -0
- package/mainnet/_generated/_dependencies/source/0x1/index.js +2 -1
- package/mainnet/_generated/_dependencies/source/0x1/option/structs.d.ts +11 -5
- package/mainnet/_generated/_dependencies/source/0x1/option/structs.js +34 -6
- package/mainnet/_generated/_dependencies/source/0x1/type-name/structs.d.ts +8 -3
- package/mainnet/_generated/_dependencies/source/0x1/type-name/structs.js +25 -6
- package/mainnet/_generated/_dependencies/source/0x2/bag/structs.d.ts +8 -3
- package/mainnet/_generated/_dependencies/source/0x2/bag/structs.js +25 -6
- package/mainnet/_generated/_dependencies/source/0x2/balance/structs.d.ts +14 -5
- package/mainnet/_generated/_dependencies/source/0x2/balance/structs.js +64 -10
- package/mainnet/_generated/_dependencies/source/0x2/index.d.ts +1 -0
- package/mainnet/_generated/_dependencies/source/0x2/index.js +2 -1
- package/mainnet/_generated/_dependencies/source/0x2/object/structs.d.ts +14 -5
- package/mainnet/_generated/_dependencies/source/0x2/object/structs.js +48 -12
- package/mainnet/_generated/_dependencies/source/0x2/object-table/structs.d.ts +8 -3
- package/mainnet/_generated/_dependencies/source/0x2/object-table/structs.js +36 -6
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/index.d.ts +2 -0
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/index.js +3 -1
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.d.ts +10 -4
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.js +26 -7
- package/mainnet/_generated/_framework/reified.d.ts +28 -20
- package/mainnet/_generated/_framework/reified.js +20 -43
- package/mainnet/_generated/_framework/util.d.ts +20 -38
- package/mainnet/_generated/_framework/util.js +152 -67
- package/mainnet/_generated/_framework/vector.d.ts +35 -0
- package/mainnet/_generated/_framework/vector.js +77 -0
- package/mainnet/_generated/suilend/cell/structs.d.ts +9 -4
- package/mainnet/_generated/suilend/cell/structs.js +35 -7
- package/mainnet/_generated/suilend/decimal/structs.d.ts +8 -3
- package/mainnet/_generated/suilend/decimal/structs.js +25 -7
- package/mainnet/_generated/suilend/index.d.ts +2 -1
- package/mainnet/_generated/suilend/index.js +3 -2
- package/mainnet/_generated/suilend/lending-market/functions.d.ts +106 -107
- package/mainnet/_generated/suilend/lending-market/functions.js +219 -218
- package/mainnet/_generated/suilend/lending-market/structs.d.ts +88 -30
- package/mainnet/_generated/suilend/lending-market/structs.js +403 -125
- package/mainnet/_generated/suilend/lending-market-registry/functions.d.ts +3 -4
- package/mainnet/_generated/suilend/lending-market-registry/functions.js +7 -8
- package/mainnet/_generated/suilend/liquidity-mining/structs.d.ts +34 -12
- package/mainnet/_generated/suilend/liquidity-mining/structs.js +123 -28
- package/mainnet/_generated/suilend/obligation/structs.d.ts +40 -14
- package/mainnet/_generated/suilend/obligation/structs.js +151 -40
- package/mainnet/_generated/suilend/rate-limiter/functions.d.ts +13 -14
- package/mainnet/_generated/suilend/rate-limiter/functions.js +27 -28
- package/mainnet/_generated/suilend/rate-limiter/structs.d.ts +14 -5
- package/mainnet/_generated/suilend/rate-limiter/structs.js +47 -12
- package/mainnet/_generated/suilend/reserve/structs.d.ts +38 -13
- package/mainnet/_generated/suilend/reserve/structs.js +171 -37
- package/mainnet/_generated/suilend/reserve-config/functions.d.ts +65 -65
- package/mainnet/_generated/suilend/reserve-config/functions.js +185 -186
- package/mainnet/_generated/suilend/reserve-config/structs.d.ts +16 -6
- package/mainnet/_generated/suilend/reserve-config/structs.js +48 -12
- package/mainnet/client.d.ts +5 -6
- package/mainnet/client.js +4 -5
- package/mainnet/constants.d.ts +2 -0
- package/mainnet/constants.js +3 -0
- package/mainnet/parsers/lendingMarket.d.ts +2 -2
- package/mainnet/parsers/reserve.d.ts +3 -3
- package/mainnet/utils/index.d.ts +0 -1
- package/mainnet/utils/index.js +0 -1
- package/mainnet/utils/obligation.d.ts +1 -1
- package/mainnet/utils/obligation.js +7 -8
- package/mainnet/utils/simulate.d.ts +1 -1
- package/package.json +1 -1
- package/core/utils/utils.d.ts +0 -61
- package/core/utils/utils.js +0 -157
- package/mainnet/_generated/_dependencies/source/0x1/bit-vector/structs.d.ts +0 -50
- package/mainnet/_generated/_dependencies/source/0x1/bit-vector/structs.js +0 -154
- package/mainnet/_generated/_dependencies/source/0x1/fixed-point32/structs.d.ts +0 -41
- package/mainnet/_generated/_dependencies/source/0x1/fixed-point32/structs.js +0 -124
- package/mainnet/_generated/_dependencies/source/0x1/init.d.ts +0 -2
- package/mainnet/_generated/_dependencies/source/0x1/init.js +0 -42
- package/mainnet/_generated/_dependencies/source/0x1/string/structs.d.ts +0 -44
- package/mainnet/_generated/_dependencies/source/0x1/string/structs.js +0 -148
- package/mainnet/_generated/_dependencies/source/0x2/authenticator-state/structs.d.ts +0 -442
- package/mainnet/_generated/_dependencies/source/0x2/authenticator-state/structs.js +0 -633
- package/mainnet/_generated/_dependencies/source/0x2/bcs/structs.d.ts +0 -44
- package/mainnet/_generated/_dependencies/source/0x2/bcs/structs.js +0 -147
- package/mainnet/_generated/_dependencies/source/0x2/bls12381/structs.d.ts +0 -155
- package/mainnet/_generated/_dependencies/source/0x2/bls12381/structs.js +0 -448
- package/mainnet/_generated/_dependencies/source/0x2/borrow/structs.d.ts +0 -104
- package/mainnet/_generated/_dependencies/source/0x2/borrow/structs.js +0 -260
- package/mainnet/_generated/_dependencies/source/0x2/clock/structs.d.ts +0 -56
- package/mainnet/_generated/_dependencies/source/0x2/clock/structs.js +0 -131
- package/mainnet/_generated/_dependencies/source/0x2/coin/structs.d.ts +0 -379
- package/mainnet/_generated/_dependencies/source/0x2/coin/structs.js +0 -741
- package/mainnet/_generated/_dependencies/source/0x2/deny-list/structs.d.ts +0 -178
- package/mainnet/_generated/_dependencies/source/0x2/deny-list/structs.js +0 -279
- package/mainnet/_generated/_dependencies/source/0x2/display/structs.d.ts +0 -228
- package/mainnet/_generated/_dependencies/source/0x2/display/structs.js +0 -375
- package/mainnet/_generated/_dependencies/source/0x2/dynamic-field/structs.d.ts +0 -63
- package/mainnet/_generated/_dependencies/source/0x2/dynamic-field/structs.js +0 -139
- package/mainnet/_generated/_dependencies/source/0x2/dynamic-object-field/structs.d.ts +0 -42
- package/mainnet/_generated/_dependencies/source/0x2/dynamic-object-field/structs.js +0 -127
- package/mainnet/_generated/_dependencies/source/0x2/groth16/structs.d.ts +0 -186
- package/mainnet/_generated/_dependencies/source/0x2/groth16/structs.js +0 -489
- package/mainnet/_generated/_dependencies/source/0x2/group-ops/structs.d.ts +0 -44
- package/mainnet/_generated/_dependencies/source/0x2/group-ops/structs.js +0 -150
- package/mainnet/_generated/_dependencies/source/0x2/init.d.ts +0 -2
- package/mainnet/_generated/_dependencies/source/0x2/init.js +0 -151
- package/mainnet/_generated/_dependencies/source/0x2/kiosk/structs.d.ts +0 -565
- package/mainnet/_generated/_dependencies/source/0x2/kiosk/structs.js +0 -1235
- package/mainnet/_generated/_dependencies/source/0x2/kiosk-extension/structs.d.ts +0 -112
- package/mainnet/_generated/_dependencies/source/0x2/kiosk-extension/structs.js +0 -248
- package/mainnet/_generated/_dependencies/source/0x2/linked-table/structs.d.ts +0 -144
- package/mainnet/_generated/_dependencies/source/0x2/linked-table/structs.js +0 -269
- package/mainnet/_generated/_dependencies/source/0x2/object-bag/structs.d.ts +0 -56
- package/mainnet/_generated/_dependencies/source/0x2/object-bag/structs.js +0 -131
- package/mainnet/_generated/_dependencies/source/0x2/package/structs.d.ts +0 -262
- package/mainnet/_generated/_dependencies/source/0x2/package/structs.js +0 -531
- package/mainnet/_generated/_dependencies/source/0x2/priority-queue/structs.d.ts +0 -101
- package/mainnet/_generated/_dependencies/source/0x2/priority-queue/structs.js +0 -269
- package/mainnet/_generated/_dependencies/source/0x2/random/structs.d.ts +0 -190
- package/mainnet/_generated/_dependencies/source/0x2/random/structs.js +0 -404
- package/mainnet/_generated/_dependencies/source/0x2/sui/structs.d.ts +0 -41
- package/mainnet/_generated/_dependencies/source/0x2/sui/structs.js +0 -123
- package/mainnet/_generated/_dependencies/source/0x2/table/structs.d.ts +0 -56
- package/mainnet/_generated/_dependencies/source/0x2/table/structs.js +0 -133
- package/mainnet/_generated/_dependencies/source/0x2/table-vec/structs.d.ts +0 -63
- package/mainnet/_generated/_dependencies/source/0x2/table-vec/structs.js +0 -151
- package/mainnet/_generated/_dependencies/source/0x2/token/structs.d.ts +0 -424
- package/mainnet/_generated/_dependencies/source/0x2/token/structs.js +0 -758
- package/mainnet/_generated/_dependencies/source/0x2/transfer/structs.d.ts +0 -52
- package/mainnet/_generated/_dependencies/source/0x2/transfer/structs.js +0 -133
- package/mainnet/_generated/_dependencies/source/0x2/transfer-policy/structs.d.ts +0 -345
- package/mainnet/_generated/_dependencies/source/0x2/transfer-policy/structs.js +0 -746
- package/mainnet/_generated/_dependencies/source/0x2/tx-context/structs.d.ts +0 -68
- package/mainnet/_generated/_dependencies/source/0x2/tx-context/structs.js +0 -177
- package/mainnet/_generated/_dependencies/source/0x2/url/structs.d.ts +0 -48
- package/mainnet/_generated/_dependencies/source/0x2/url/structs.js +0 -124
- package/mainnet/_generated/_dependencies/source/0x2/vec-map/structs.d.ts +0 -101
- package/mainnet/_generated/_dependencies/source/0x2/vec-map/structs.js +0 -267
- package/mainnet/_generated/_dependencies/source/0x2/vec-set/structs.d.ts +0 -45
- package/mainnet/_generated/_dependencies/source/0x2/vec-set/structs.js +0 -151
- package/mainnet/_generated/_dependencies/source/0x2/versioned/structs.d.ts +0 -104
- package/mainnet/_generated/_dependencies/source/0x2/versioned/structs.js +0 -246
- package/mainnet/_generated/_dependencies/source/0x2/zklogin-verified-id/structs.d.ts +0 -105
- package/mainnet/_generated/_dependencies/source/0x2/zklogin-verified-id/structs.js +0 -161
- package/mainnet/_generated/_dependencies/source/0x2/zklogin-verified-issuer/structs.d.ts +0 -69
- package/mainnet/_generated/_dependencies/source/0x2/zklogin-verified-issuer/structs.js +0 -143
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/bytes20/structs.d.ts +0 -44
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/bytes20/structs.js +0 -149
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/bytes32/structs.d.ts +0 -44
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/bytes32/structs.js +0 -149
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/consumed-vaas/structs.d.ts +0 -72
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/consumed-vaas/structs.js +0 -151
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/cursor/structs.d.ts +0 -45
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/cursor/structs.js +0 -151
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/emitter/structs.d.ts +0 -140
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/emitter/structs.js +0 -352
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/external-address/structs.d.ts +0 -52
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/external-address/structs.js +0 -126
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/fee-collector/structs.d.ts +0 -58
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/fee-collector/structs.js +0 -157
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/governance-message/structs.d.ts +0 -158
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/governance-message/structs.js +0 -299
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian/structs.d.ts +0 -52
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian/structs.js +0 -126
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian-set/structs.d.ts +0 -75
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian-set/structs.js +0 -162
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian-signature/structs.d.ts +0 -80
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian-signature/structs.js +0 -144
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/index.d.ts +0 -2
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/index.js +0 -5
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/init.d.ts +0 -2
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/init.js +0 -91
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/migrate/structs.d.ts +0 -46
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/migrate/structs.js +0 -126
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/package-utils/structs.d.ts +0 -177
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/package-utils/structs.js +0 -463
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/publish-message/structs.d.ts +0 -141
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/publish-message/structs.js +0 -308
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/set/structs.d.ts +0 -101
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/set/structs.js +0 -260
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/set-fee/structs.d.ts +0 -79
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/set-fee/structs.js +0 -235
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/setup/structs.d.ts +0 -50
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/setup/structs.js +0 -126
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/state/structs.d.ts +0 -269
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/state/structs.js +0 -314
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/transfer-fee/structs.d.ts +0 -85
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/transfer-fee/structs.js +0 -246
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/update-guardian-set/structs.d.ts +0 -145
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/update-guardian-set/structs.js +0 -376
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/upgrade-contract/structs.d.ts +0 -143
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/upgrade-contract/structs.js +0 -353
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/vaa/structs.d.ts +0 -122
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/vaa/structs.js +0 -198
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/version-control/structs.d.ts +0 -79
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/version-control/structs.js +0 -235
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/batch-price-attestation/structs.d.ts +0 -279
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/batch-price-attestation/structs.js +0 -302
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/contract-upgrade/structs.d.ts +0 -105
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/contract-upgrade/structs.js +0 -243
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/data-source/structs.d.ts +0 -66
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/data-source/structs.js +0 -132
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/event/structs.d.ts +0 -200
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/event/structs.js +0 -242
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance/structs.d.ts +0 -67
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance/structs.js +0 -162
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance-action/structs.d.ts +0 -41
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance-action/structs.js +0 -125
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance-instruction/structs.d.ts +0 -71
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance-instruction/structs.js +0 -168
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/hot-potato-vector/structs.d.ts +0 -45
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/hot-potato-vector/structs.js +0 -151
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/i64/structs.d.ts +0 -47
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/i64/structs.js +0 -130
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/init.d.ts +0 -2
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/init.js +0 -86
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/migrate/structs.d.ts +0 -46
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/migrate/structs.js +0 -126
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price/structs.d.ts +0 -84
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price/structs.js +0 -144
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-feed/structs.d.ts +0 -153
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-feed/structs.js +0 -139
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-info/structs.d.ts +0 -351
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-info/structs.js +0 -255
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-status/structs.d.ts +0 -41
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-status/structs.js +0 -125
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set/structs.d.ts +0 -110
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set/structs.js +0 -267
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-data-sources/structs.d.ts +0 -75
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-data-sources/structs.js +0 -150
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-fee-recipient/structs.d.ts +0 -41
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-fee-recipient/structs.js +0 -130
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-governance-data-source/structs.d.ts +0 -72
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-governance-data-source/structs.js +0 -138
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-stale-price-threshold/structs.d.ts +0 -41
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-stale-price-threshold/structs.js +0 -125
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-update-fee/structs.d.ts +0 -47
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-update-fee/structs.js +0 -131
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/setup/structs.d.ts +0 -50
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/setup/structs.js +0 -126
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/state/structs.d.ts +0 -269
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/state/structs.js +0 -396
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/version-control/structs.d.ts +0 -117
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/version-control/structs.js +0 -345
- package/mainnet/_generated/_framework/init-source.d.ts +0 -1
- package/mainnet/_generated/_framework/init-source.js +0 -45
- package/mainnet/_generated/_framework/loader.d.ts +0 -17
- package/mainnet/_generated/_framework/loader.js +0 -46
- package/mainnet/_generated/suilend/cell/functions.d.ts +0 -10
- package/mainnet/_generated/suilend/cell/functions.js +0 -37
- package/mainnet/_generated/suilend/decimal/functions.d.ts +0 -75
- package/mainnet/_generated/suilend/decimal/functions.js +0 -152
- package/mainnet/_generated/suilend/init.d.ts +0 -2
- package/mainnet/_generated/suilend/init.js +0 -79
- package/mainnet/_generated/suilend/launch/functions.d.ts +0 -3
- package/mainnet/_generated/suilend/launch/functions.js +0 -12
- package/mainnet/_generated/suilend/launch/structs.d.ts +0 -41
- package/mainnet/_generated/suilend/launch/structs.js +0 -125
- package/mainnet/_generated/suilend/lending-market-registry/structs.d.ts +0 -123
- package/mainnet/_generated/suilend/lending-market-registry/structs.js +0 -274
- package/mainnet/_generated/suilend/liquidity-mining/functions.d.ts +0 -68
- package/mainnet/_generated/suilend/liquidity-mining/functions.js +0 -149
- package/mainnet/_generated/suilend/obligation/functions.d.ts +0 -132
- package/mainnet/_generated/suilend/obligation/functions.js +0 -286
- package/mainnet/_generated/suilend/oracles/functions.d.ts +0 -8
- package/mainnet/_generated/suilend/oracles/functions.js +0 -19
- package/mainnet/_generated/suilend/reserve/functions.d.ts +0 -138
- package/mainnet/_generated/suilend/reserve/functions.js +0 -356
- package/mainnet/_generated/suilend/suilend/structs.d.ts +0 -41
- package/mainnet/_generated/suilend/suilend/structs.js +0 -125
- package/mainnet/utils/utils.d.ts +0 -1
- package/mainnet/utils/utils.js +0 -17
- package/pyth-sdk/SuiPriceServiceConnection.d.ts +0 -14
- package/pyth-sdk/SuiPriceServiceConnection.js +0 -32
- package/pyth-sdk/client.d.ts +0 -74
- package/pyth-sdk/client.js +0 -322
- package/pyth-sdk/index.d.ts +0 -4
- package/pyth-sdk/index.js +0 -10
|
@@ -10,7 +10,19 @@ const reserve_1 = require("./reserve");
|
|
|
10
10
|
const parseLendingMarket = ({ LendingMarket, Reserve, PoolRewardManager, PoolReward, simulate, RateLimiter, }, lendingMarket, reserves, coinMetadataMap, currentTime) => {
|
|
11
11
|
const id = lendingMarket.id;
|
|
12
12
|
const version = lendingMarket.version;
|
|
13
|
-
const parsedReserves = reserves
|
|
13
|
+
const parsedReserves = reserves
|
|
14
|
+
.map((reserve) => (0, reserve_1.parseReserve)({ Reserve, PoolRewardManager, PoolReward, simulate }, reserve, coinMetadataMap))
|
|
15
|
+
.sort((a, b) => {
|
|
16
|
+
const customOrder = ["SUI", "wUSDC", "USDC"];
|
|
17
|
+
const aCustomOrderIndex = customOrder.indexOf(a.symbol);
|
|
18
|
+
const bCustomOrderIndex = customOrder.indexOf(b.symbol);
|
|
19
|
+
if (aCustomOrderIndex > -1 && bCustomOrderIndex > -1)
|
|
20
|
+
return aCustomOrderIndex - bCustomOrderIndex;
|
|
21
|
+
else if (aCustomOrderIndex === -1 && bCustomOrderIndex === -1)
|
|
22
|
+
return 0;
|
|
23
|
+
else
|
|
24
|
+
return aCustomOrderIndex > -1 ? -1 : 1;
|
|
25
|
+
});
|
|
14
26
|
const obligations = lendingMarket.obligations;
|
|
15
27
|
const parsedRateLimiter = (0, rateLimiter_1.parseRateLimiter)({ RateLimiter }, lendingMarket.rateLimiter, currentTime);
|
|
16
28
|
const feeReceiver = lendingMarket.feeReceiver;
|
|
@@ -3,7 +3,7 @@ import { Deps } from "./deps";
|
|
|
3
3
|
import { ParsedReserve } from "./reserve";
|
|
4
4
|
export type ParsedObligation = ReturnType<typeof parseObligation>;
|
|
5
5
|
export type ParsedPosition = ParsedObligation["deposits"][0] | ParsedObligation["borrows"][0];
|
|
6
|
-
export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">, obligation:
|
|
6
|
+
export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">, obligation: typeof Obligation, parsedReserveMap: {
|
|
7
7
|
[coinType: string]: ParsedReserve;
|
|
8
8
|
}) => {
|
|
9
9
|
id: any;
|
|
@@ -15,6 +15,8 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
|
|
|
15
15
|
borrowLimitUsd: BigNumber;
|
|
16
16
|
minPriceBorrowLimitUsd: BigNumber;
|
|
17
17
|
unhealthyBorrowValueUsd: BigNumber;
|
|
18
|
+
depositPositionCount: number;
|
|
19
|
+
borrowPositionCount: number;
|
|
18
20
|
positionCount: number;
|
|
19
21
|
deposits: {
|
|
20
22
|
coinType: string;
|
|
@@ -23,6 +25,7 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
|
|
|
23
25
|
userRewardManager: any;
|
|
24
26
|
depositedAmount: BigNumber;
|
|
25
27
|
depositedAmountUsd: BigNumber;
|
|
28
|
+
depositedCtokenAmount: BigNumber;
|
|
26
29
|
reserve: {
|
|
27
30
|
config: {
|
|
28
31
|
$typeName: any;
|
|
@@ -39,7 +42,7 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
|
|
|
39
42
|
borrowFeeBps: number;
|
|
40
43
|
spreadFeeBps: number;
|
|
41
44
|
protocolLiquidationFeeBps: number;
|
|
42
|
-
isolated:
|
|
45
|
+
isolated: boolean;
|
|
43
46
|
openAttributedBorrowLimitUsd: number;
|
|
44
47
|
closeAttributedBorrowLimitUsd: number;
|
|
45
48
|
interestRate: {
|
|
@@ -147,7 +150,7 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
|
|
|
147
150
|
borrowFeeBps: number;
|
|
148
151
|
spreadFeeBps: number;
|
|
149
152
|
protocolLiquidationFeeBps: number;
|
|
150
|
-
isolated:
|
|
153
|
+
isolated: boolean;
|
|
151
154
|
openAttributedBorrowLimitUsd: number;
|
|
152
155
|
closeAttributedBorrowLimitUsd: number;
|
|
153
156
|
interestRate: {
|
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.parseObligation = void 0;
|
|
7
|
-
const utils_1 = require("@mysten/sui
|
|
7
|
+
const utils_1 = require("@mysten/sui/utils");
|
|
8
8
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
9
9
|
const constants_1 = require("../constants");
|
|
10
10
|
const parseObligation = ({ Obligation }, obligation, parsedReserveMap) => {
|
|
@@ -15,13 +15,14 @@ const parseObligation = ({ Obligation }, obligation, parsedReserveMap) => {
|
|
|
15
15
|
let borrowLimitUsd = new bignumber_js_1.default(0);
|
|
16
16
|
let minPriceBorrowLimitUsd = new bignumber_js_1.default(0);
|
|
17
17
|
let unhealthyBorrowValueUsd = new bignumber_js_1.default(0);
|
|
18
|
-
let
|
|
18
|
+
let depositPositionCount = 0;
|
|
19
|
+
let borrowPositionCount = 0;
|
|
19
20
|
const deposits = obligation.deposits.map((deposit) => {
|
|
20
21
|
const coinType = (0, utils_1.normalizeStructTag)(deposit.coinType.name);
|
|
21
22
|
const reserve = parsedReserveMap[coinType];
|
|
22
23
|
if (!reserve)
|
|
23
24
|
throw new Error(`Reserve with coinType ${deposit.coinType.name} not found`);
|
|
24
|
-
|
|
25
|
+
depositPositionCount++;
|
|
25
26
|
const depositedCtokenAmount = new bignumber_js_1.default(deposit.depositedCtokenAmount.toString()).div(10 ** reserve.mintDecimals);
|
|
26
27
|
const depositedAmount = depositedCtokenAmount.times(reserve.cTokenExchangeRate);
|
|
27
28
|
const depositedAmountUsd = depositedAmount.times(reserve.price);
|
|
@@ -41,6 +42,7 @@ const parseObligation = ({ Obligation }, obligation, parsedReserveMap) => {
|
|
|
41
42
|
userRewardManager,
|
|
42
43
|
depositedAmount,
|
|
43
44
|
depositedAmountUsd,
|
|
45
|
+
depositedCtokenAmount,
|
|
44
46
|
reserve,
|
|
45
47
|
original: obligation,
|
|
46
48
|
};
|
|
@@ -50,7 +52,7 @@ const parseObligation = ({ Obligation }, obligation, parsedReserveMap) => {
|
|
|
50
52
|
const reserve = parsedReserveMap[coinType];
|
|
51
53
|
if (!reserve)
|
|
52
54
|
throw new Error(`Reserve with coinType ${borrow.coinType.name} not found`);
|
|
53
|
-
|
|
55
|
+
borrowPositionCount++;
|
|
54
56
|
const cumulativeBorrowRate = new bignumber_js_1.default(borrow.cumulativeBorrowRate.value.toString()).div(constants_1.WAD);
|
|
55
57
|
const borrowedAmountInitial = new bignumber_js_1.default(borrow.borrowedAmount.value.toString())
|
|
56
58
|
.div(constants_1.WAD)
|
|
@@ -90,7 +92,9 @@ const parseObligation = ({ Obligation }, obligation, parsedReserveMap) => {
|
|
|
90
92
|
borrowLimitUsd,
|
|
91
93
|
minPriceBorrowLimitUsd,
|
|
92
94
|
unhealthyBorrowValueUsd,
|
|
93
|
-
|
|
95
|
+
depositPositionCount,
|
|
96
|
+
borrowPositionCount,
|
|
97
|
+
positionCount: depositPositionCount + borrowPositionCount,
|
|
94
98
|
deposits,
|
|
95
99
|
borrows,
|
|
96
100
|
weightedConservativeBorrowUtilizationPercent,
|
|
@@ -2,7 +2,7 @@ import BigNumber from "bignumber.js";
|
|
|
2
2
|
import { Deps } from "./deps";
|
|
3
3
|
export type ParsedRateLimiter = ReturnType<typeof parseRateLimiter>;
|
|
4
4
|
export type ParsedRateLimiterConfig = ReturnType<typeof parseRateLimiterConfig>;
|
|
5
|
-
export declare const parseRateLimiter: ({ RateLimiter }: Pick<Deps, "RateLimiter">, rateLimiter:
|
|
5
|
+
export declare const parseRateLimiter: ({ RateLimiter }: Pick<Deps, "RateLimiter">, rateLimiter: typeof RateLimiter, currentTime: number) => {
|
|
6
6
|
config: {
|
|
7
7
|
windowDuration: any;
|
|
8
8
|
maxOutflow: any;
|
|
@@ -13,7 +13,7 @@ export declare const parseRateLimiter: ({ RateLimiter }: Pick<Deps, "RateLimiter
|
|
|
13
13
|
curQty: any;
|
|
14
14
|
remainingOutflow: BigNumber;
|
|
15
15
|
};
|
|
16
|
-
export declare const parseRateLimiterConfig: ({ RateLimiter }: Pick<Deps, "RateLimiter">, rateLimiter:
|
|
16
|
+
export declare const parseRateLimiterConfig: ({ RateLimiter }: Pick<Deps, "RateLimiter">, rateLimiter: typeof RateLimiter) => {
|
|
17
17
|
windowDuration: any;
|
|
18
18
|
maxOutflow: any;
|
|
19
19
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { CoinMetadata } from "@mysten/sui
|
|
1
|
+
import { CoinMetadata } from "@mysten/sui/client";
|
|
2
2
|
import BigNumber from "bignumber.js";
|
|
3
3
|
import { Deps } from "./deps";
|
|
4
4
|
export type ParsedReserve = ReturnType<typeof parseReserve>;
|
|
5
5
|
export type ParsedReserveConfig = ReturnType<typeof parseReserveConfig>;
|
|
6
6
|
export type ParsedPoolRewardManager = ReturnType<typeof parsePoolRewardManager>;
|
|
7
7
|
export type ParsedPoolReward = NonNullable<ReturnType<typeof parsePoolReward>>;
|
|
8
|
-
export declare const parseReserve: ({ Reserve, PoolRewardManager, PoolReward, simulate, }: Pick<Deps, "Reserve" | "PoolRewardManager" | "PoolReward" | "simulate">, reserve:
|
|
8
|
+
export declare const parseReserve: ({ Reserve, PoolRewardManager, PoolReward, simulate, }: Pick<Deps, "Reserve" | "PoolRewardManager" | "PoolReward" | "simulate">, reserve: typeof Reserve, coinMetadataMap: Record<string, CoinMetadata>) => {
|
|
9
9
|
config: {
|
|
10
10
|
$typeName: any;
|
|
11
11
|
openLtvPct: any;
|
|
@@ -21,7 +21,7 @@ export declare const parseReserve: ({ Reserve, PoolRewardManager, PoolReward, si
|
|
|
21
21
|
borrowFeeBps: number;
|
|
22
22
|
spreadFeeBps: number;
|
|
23
23
|
protocolLiquidationFeeBps: number;
|
|
24
|
-
isolated:
|
|
24
|
+
isolated: boolean;
|
|
25
25
|
openAttributedBorrowLimitUsd: number;
|
|
26
26
|
closeAttributedBorrowLimitUsd: number;
|
|
27
27
|
interestRate: {
|
|
@@ -107,7 +107,7 @@ export declare const parseReserve: ({ Reserve, PoolRewardManager, PoolReward, si
|
|
|
107
107
|
*/
|
|
108
108
|
totalDeposits: BigNumber;
|
|
109
109
|
};
|
|
110
|
-
export declare const parseReserveConfig: ({ Reserve }: Pick<Deps, "Reserve">, reserve:
|
|
110
|
+
export declare const parseReserveConfig: ({ Reserve }: Pick<Deps, "Reserve">, reserve: typeof Reserve) => {
|
|
111
111
|
$typeName: any;
|
|
112
112
|
openLtvPct: any;
|
|
113
113
|
closeLtvPct: any;
|
|
@@ -122,7 +122,7 @@ export declare const parseReserveConfig: ({ Reserve }: Pick<Deps, "Reserve">, re
|
|
|
122
122
|
borrowFeeBps: number;
|
|
123
123
|
spreadFeeBps: number;
|
|
124
124
|
protocolLiquidationFeeBps: number;
|
|
125
|
-
isolated:
|
|
125
|
+
isolated: boolean;
|
|
126
126
|
openAttributedBorrowLimitUsd: number;
|
|
127
127
|
closeAttributedBorrowLimitUsd: number;
|
|
128
128
|
interestRate: {
|
|
@@ -131,7 +131,7 @@ export declare const parseReserveConfig: ({ Reserve }: Pick<Deps, "Reserve">, re
|
|
|
131
131
|
aprPercent: BigNumber;
|
|
132
132
|
}[];
|
|
133
133
|
};
|
|
134
|
-
export declare const parsePoolRewardManager: ({ PoolRewardManager, PoolReward, }: Pick<Deps, "PoolRewardManager" | "PoolReward">, poolRewardManager:
|
|
134
|
+
export declare const parsePoolRewardManager: ({ PoolRewardManager, PoolReward, }: Pick<Deps, "PoolRewardManager" | "PoolReward">, poolRewardManager: typeof PoolRewardManager, coinMetadataMap: Record<string, CoinMetadata>) => {
|
|
135
135
|
$typeName: any;
|
|
136
136
|
id: any;
|
|
137
137
|
totalShares: any;
|
|
@@ -152,7 +152,7 @@ export declare const parsePoolRewardManager: ({ PoolRewardManager, PoolReward, }
|
|
|
152
152
|
}[];
|
|
153
153
|
lastUpdateTimeMs: any;
|
|
154
154
|
};
|
|
155
|
-
export declare const parsePoolReward: ({ PoolReward }: Pick<Deps, "PoolReward">, poolReward:
|
|
155
|
+
export declare const parsePoolReward: ({ PoolReward }: Pick<Deps, "PoolReward">, poolReward: typeof PoolReward | null, rewardIndex: number, coinMetadataMap: Record<string, CoinMetadata>) => {
|
|
156
156
|
$typeName: any;
|
|
157
157
|
id: any;
|
|
158
158
|
poolRewardManagerId: any;
|
package/core/parsers/reserve.js
CHANGED
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.parsePoolReward = exports.parsePoolRewardManager = exports.parseReserveConfig = exports.parseReserve = void 0;
|
|
7
|
-
const utils_1 = require("@mysten/sui
|
|
7
|
+
const utils_1 = require("@mysten/sui/utils");
|
|
8
8
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
9
9
|
const uuid_1 = require("uuid");
|
|
10
10
|
const constants_1 = require("../constants");
|
package/core/types.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { BcsType, InferBcsType } from "@mysten/bcs";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { TransactionArgument } from "@mysten/sui.js/transactions";
|
|
2
|
+
import { SuiClient } from "@mysten/sui/client";
|
|
3
|
+
import { TransactionArgument, TransactionObjectInput } from "@mysten/sui/transactions";
|
|
5
4
|
export declare const ID: BcsType<{
|
|
6
5
|
bytes: string;
|
|
7
6
|
}, {
|
|
@@ -524,22 +523,17 @@ export declare enum Side {
|
|
|
524
523
|
DEPOSIT = "deposit",
|
|
525
524
|
BORROW = "borrow"
|
|
526
525
|
}
|
|
527
|
-
export type ObjectId = string;
|
|
528
|
-
export type ObjectCallArg = {
|
|
529
|
-
Object: SuiObjectArg;
|
|
530
|
-
};
|
|
531
|
-
export type ObjectArg = string | ObjectCallArg | TransactionArgument;
|
|
532
526
|
export interface PhantomReified<P> {
|
|
533
527
|
phantomType: P;
|
|
534
528
|
kind: "PhantomReified";
|
|
535
529
|
}
|
|
536
530
|
export interface AddReserveArgs {
|
|
537
|
-
lendingMarketOwnerCap:
|
|
538
|
-
lendingMarket:
|
|
539
|
-
priceInfo:
|
|
540
|
-
config:
|
|
541
|
-
coinMetadata:
|
|
542
|
-
clock:
|
|
531
|
+
lendingMarketOwnerCap: TransactionObjectInput;
|
|
532
|
+
lendingMarket: TransactionObjectInput;
|
|
533
|
+
priceInfo: TransactionObjectInput;
|
|
534
|
+
config: TransactionObjectInput;
|
|
535
|
+
coinMetadata: TransactionObjectInput;
|
|
536
|
+
clock: TransactionObjectInput;
|
|
543
537
|
}
|
|
544
538
|
export interface CreateReserveConfigArgs {
|
|
545
539
|
openLtvPct: number | TransactionArgument;
|
|
@@ -562,49 +556,49 @@ export interface CreateReserveConfigArgs {
|
|
|
562
556
|
closeAttributedBorrowLimitUsd: bigint | TransactionArgument;
|
|
563
557
|
}
|
|
564
558
|
export interface UpdateReserveConfigArgs {
|
|
565
|
-
lendingMarketOwnerCap:
|
|
566
|
-
lendingMarket:
|
|
559
|
+
lendingMarketOwnerCap: TransactionObjectInput;
|
|
560
|
+
lendingMarket: TransactionObjectInput;
|
|
567
561
|
reserveArrayIndex: bigint | TransactionArgument;
|
|
568
|
-
config:
|
|
562
|
+
config: TransactionObjectInput;
|
|
569
563
|
}
|
|
570
564
|
export interface AddPoolRewardArgs {
|
|
571
|
-
lendingMarketOwnerCap:
|
|
572
|
-
lendingMarket:
|
|
565
|
+
lendingMarketOwnerCap: TransactionObjectInput;
|
|
566
|
+
lendingMarket: TransactionObjectInput;
|
|
573
567
|
reserveArrayIndex: bigint | TransactionArgument;
|
|
574
568
|
isDepositReward: boolean | TransactionArgument;
|
|
575
|
-
rewards:
|
|
569
|
+
rewards: TransactionObjectInput;
|
|
576
570
|
startTimeMs: bigint | TransactionArgument;
|
|
577
571
|
endTimeMs: bigint | TransactionArgument;
|
|
578
|
-
clock:
|
|
572
|
+
clock: TransactionObjectInput;
|
|
579
573
|
}
|
|
580
574
|
export interface CancelPoolRewardArgs {
|
|
581
|
-
lendingMarketOwnerCap:
|
|
582
|
-
lendingMarket:
|
|
575
|
+
lendingMarketOwnerCap: TransactionObjectInput;
|
|
576
|
+
lendingMarket: TransactionObjectInput;
|
|
583
577
|
reserveArrayIndex: bigint | TransactionArgument;
|
|
584
578
|
isDepositReward: boolean | TransactionArgument;
|
|
585
579
|
rewardIndex: bigint | TransactionArgument;
|
|
586
|
-
clock:
|
|
580
|
+
clock: TransactionObjectInput;
|
|
587
581
|
}
|
|
588
582
|
export interface ClosePoolRewardArgs {
|
|
589
|
-
lendingMarketOwnerCap:
|
|
590
|
-
lendingMarket:
|
|
583
|
+
lendingMarketOwnerCap: TransactionObjectInput;
|
|
584
|
+
lendingMarket: TransactionObjectInput;
|
|
591
585
|
reserveArrayIndex: bigint | TransactionArgument;
|
|
592
586
|
isDepositReward: boolean | TransactionArgument;
|
|
593
587
|
rewardIndex: bigint | TransactionArgument;
|
|
594
|
-
clock:
|
|
588
|
+
clock: TransactionObjectInput;
|
|
595
589
|
}
|
|
596
590
|
export interface ClaimRewardsArgs {
|
|
597
|
-
lendingMarket:
|
|
598
|
-
cap:
|
|
599
|
-
clock:
|
|
591
|
+
lendingMarket: TransactionObjectInput;
|
|
592
|
+
cap: TransactionObjectInput;
|
|
593
|
+
clock: TransactionObjectInput;
|
|
600
594
|
reserveId: bigint | TransactionArgument;
|
|
601
595
|
rewardIndex: bigint | TransactionArgument;
|
|
602
596
|
isDepositReward: boolean | TransactionArgument;
|
|
603
597
|
}
|
|
604
598
|
export interface ClaimRewardsAndDepositArgs {
|
|
605
|
-
lendingMarket:
|
|
599
|
+
lendingMarket: TransactionObjectInput;
|
|
606
600
|
obligationId: string | TransactionArgument;
|
|
607
|
-
clock:
|
|
601
|
+
clock: TransactionObjectInput;
|
|
608
602
|
rewardReserveId: bigint | TransactionArgument;
|
|
609
603
|
rewardIndex: bigint | TransactionArgument;
|
|
610
604
|
isDepositReward: boolean | TransactionArgument;
|
|
@@ -615,62 +609,73 @@ export interface CreateRateLimiterConfigArgs {
|
|
|
615
609
|
maxOutflow: bigint | TransactionArgument;
|
|
616
610
|
}
|
|
617
611
|
export interface UpdateRateLimiterConfigArgs {
|
|
618
|
-
lendingMarketOwnerCap:
|
|
619
|
-
lendingMarket:
|
|
620
|
-
clock:
|
|
621
|
-
config:
|
|
612
|
+
lendingMarketOwnerCap: TransactionObjectInput;
|
|
613
|
+
lendingMarket: TransactionObjectInput;
|
|
614
|
+
clock: TransactionObjectInput;
|
|
615
|
+
config: TransactionObjectInput;
|
|
622
616
|
}
|
|
623
617
|
export interface RefreshReservePriceArgs {
|
|
624
|
-
lendingMarket:
|
|
618
|
+
lendingMarket: TransactionObjectInput;
|
|
625
619
|
reserveArrayIndex: bigint | TransactionArgument;
|
|
626
|
-
clock:
|
|
627
|
-
priceInfo:
|
|
620
|
+
clock: TransactionObjectInput;
|
|
621
|
+
priceInfo: TransactionObjectInput;
|
|
628
622
|
}
|
|
629
623
|
export interface DepositLiquidityAndMintCtokensArgs {
|
|
630
|
-
lendingMarket:
|
|
624
|
+
lendingMarket: TransactionObjectInput;
|
|
631
625
|
reserveArrayIndex: bigint | TransactionArgument;
|
|
632
|
-
clock:
|
|
633
|
-
deposit:
|
|
626
|
+
clock: TransactionObjectInput;
|
|
627
|
+
deposit: TransactionObjectInput;
|
|
634
628
|
}
|
|
635
629
|
export interface DepositCtokensIntoObligationArgs {
|
|
636
|
-
lendingMarket:
|
|
630
|
+
lendingMarket: TransactionObjectInput;
|
|
637
631
|
reserveArrayIndex: bigint | TransactionArgument;
|
|
638
|
-
obligationOwnerCap:
|
|
639
|
-
clock:
|
|
640
|
-
deposit:
|
|
632
|
+
obligationOwnerCap: TransactionObjectInput;
|
|
633
|
+
clock: TransactionObjectInput;
|
|
634
|
+
deposit: TransactionObjectInput;
|
|
641
635
|
}
|
|
642
636
|
export interface WithdrawCtokensArgs {
|
|
643
|
-
lendingMarket:
|
|
637
|
+
lendingMarket: TransactionObjectInput;
|
|
644
638
|
reserveArrayIndex: bigint | TransactionArgument;
|
|
645
|
-
obligationOwnerCap:
|
|
646
|
-
clock:
|
|
639
|
+
obligationOwnerCap: TransactionObjectInput;
|
|
640
|
+
clock: TransactionObjectInput;
|
|
647
641
|
amount: bigint | TransactionArgument;
|
|
648
642
|
}
|
|
649
643
|
export interface BorrowArgs {
|
|
650
|
-
lendingMarket:
|
|
644
|
+
lendingMarket: TransactionObjectInput;
|
|
651
645
|
reserveArrayIndex: bigint | TransactionArgument;
|
|
652
|
-
obligationOwnerCap:
|
|
653
|
-
clock:
|
|
646
|
+
obligationOwnerCap: TransactionObjectInput;
|
|
647
|
+
clock: TransactionObjectInput;
|
|
654
648
|
amount: bigint | TransactionArgument;
|
|
655
649
|
}
|
|
656
650
|
export interface RepayArgs {
|
|
657
|
-
lendingMarket:
|
|
651
|
+
lendingMarket: TransactionObjectInput;
|
|
658
652
|
reserveArrayIndex: bigint | TransactionArgument;
|
|
659
653
|
obligationId: string | TransactionArgument;
|
|
660
|
-
clock:
|
|
661
|
-
maxRepayCoins:
|
|
654
|
+
clock: TransactionObjectInput;
|
|
655
|
+
maxRepayCoins: TransactionObjectInput;
|
|
662
656
|
}
|
|
663
657
|
export interface LiquidateArgs {
|
|
664
|
-
lendingMarket:
|
|
658
|
+
lendingMarket: TransactionObjectInput;
|
|
665
659
|
obligationId: string | TransactionArgument;
|
|
666
660
|
repayReserveArrayIndex: bigint | TransactionArgument;
|
|
667
661
|
withdrawReserveArrayIndex: bigint | TransactionArgument;
|
|
668
|
-
clock:
|
|
669
|
-
repayCoins:
|
|
662
|
+
clock: TransactionObjectInput;
|
|
663
|
+
repayCoins: TransactionObjectInput;
|
|
670
664
|
}
|
|
671
665
|
export interface MigrateArgs {
|
|
672
|
-
lendingMarketOwnerCap:
|
|
673
|
-
lendingMarket:
|
|
666
|
+
lendingMarketOwnerCap: TransactionObjectInput;
|
|
667
|
+
lendingMarket: TransactionObjectInput;
|
|
668
|
+
}
|
|
669
|
+
export interface ClaimFeesArgs {
|
|
670
|
+
lendingMarket: TransactionObjectInput;
|
|
671
|
+
reserveArrayIndex: bigint | TransactionArgument;
|
|
672
|
+
}
|
|
673
|
+
export interface RedeemCtokensAndWithdrawLiquidityArgs {
|
|
674
|
+
lendingMarket: TransactionObjectInput;
|
|
675
|
+
reserveArrayIndex: bigint | TransactionArgument;
|
|
676
|
+
clock: TransactionObjectInput;
|
|
677
|
+
ctokens: TransactionObjectInput;
|
|
678
|
+
rateLimiterExemption: TransactionObjectInput | TransactionArgument | null;
|
|
674
679
|
}
|
|
675
680
|
export type ApiInterestUpdateEvent = {
|
|
676
681
|
id: number;
|
package/core/types.js
CHANGED
|
@@ -9,12 +9,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.Side = exports.
|
|
12
|
+
exports.Side = exports.LendingMarket = exports.ObjectBag = exports.Reserve = exports.PriceIdentifier = exports.ReserveConfig = exports.InterestRateModel = exports.Obligation = exports.Bag = exports.Deposit = exports.Borrow = exports.Decimal = exports.ObligationOwnerCap = exports.UID = exports.ID = void 0;
|
|
13
|
+
exports.load = load;
|
|
13
14
|
const bcs_1 = require("@mysten/bcs");
|
|
15
|
+
const utils_1 = require("@mysten/sui/utils");
|
|
14
16
|
exports.ID = bcs_1.bcs.struct("ID", {
|
|
15
17
|
bytes: bcs_1.bcs.bytes(32).transform({
|
|
16
|
-
input: (val) => (0,
|
|
17
|
-
output: (val) => (0,
|
|
18
|
+
input: (val) => (0, utils_1.fromHex)(val),
|
|
19
|
+
output: (val) => (0, utils_1.toHex)(val),
|
|
18
20
|
}),
|
|
19
21
|
});
|
|
20
22
|
exports.UID = bcs_1.bcs.struct("UID", {
|
|
@@ -45,8 +47,8 @@ exports.Bag = bcs_1.bcs.struct("Bag", {
|
|
|
45
47
|
exports.Obligation = bcs_1.bcs.struct("Obligation", {
|
|
46
48
|
id: exports.UID,
|
|
47
49
|
owner: bcs_1.bcs.bytes(32).transform({
|
|
48
|
-
input: (val) => (0,
|
|
49
|
-
output: (val) => (0,
|
|
50
|
+
input: (val) => (0, utils_1.fromHex)(val),
|
|
51
|
+
output: (val) => (0, utils_1.toHex)(val),
|
|
50
52
|
}),
|
|
51
53
|
deposits: bcs_1.bcs.vector(exports.Deposit),
|
|
52
54
|
borrows: bcs_1.bcs.vector(exports.Borrow),
|
|
@@ -112,10 +114,10 @@ function load(client, type, id) {
|
|
|
112
114
|
if (((_b = (_a = data.data) === null || _a === void 0 ? void 0 : _a.bcs) === null || _b === void 0 ? void 0 : _b.dataType) !== "moveObject") {
|
|
113
115
|
throw new Error("Error: invalid data type");
|
|
114
116
|
}
|
|
115
|
-
return type.parse((0,
|
|
117
|
+
return type.parse((0, utils_1.fromBase64)(data.data.bcs.bcsBytes));
|
|
116
118
|
});
|
|
117
119
|
}
|
|
118
|
-
|
|
120
|
+
//
|
|
119
121
|
var Side;
|
|
120
122
|
(function (Side) {
|
|
121
123
|
Side["DEPOSIT"] = "deposit";
|
package/core/utils/events.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SuiClient, SuiEvent } from "@mysten/sui
|
|
1
|
+
import { SuiClient, SuiEvent } from "@mysten/sui/client";
|
|
2
2
|
type TypeName = {
|
|
3
3
|
name: string;
|
|
4
4
|
};
|
|
@@ -30,7 +30,7 @@ declare class TypedParamsSuiEvent<T> {
|
|
|
30
30
|
params(): T;
|
|
31
31
|
isType(module: SuilendTransactionModule, eventType: SuilendEventType): boolean;
|
|
32
32
|
}
|
|
33
|
-
export declare class GenericSuilendEvent extends TypedParamsSuiEvent<
|
|
33
|
+
export declare class GenericSuilendEvent extends TypedParamsSuiEvent<object> {
|
|
34
34
|
}
|
|
35
35
|
export declare class InterestUpdateEvent extends TypedParamsSuiEvent<{
|
|
36
36
|
lending_market_id: address;
|
package/core/utils/events.js
CHANGED
|
@@ -9,7 +9,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.ObligationDataEvent = exports.ClaimRewardEvent = exports.LiquidateEvent = exports.RepayEvent = exports.BorrowEvent = exports.WithdrawEvent = exports.DepositEvent = exports.RedeemEvent = exports.MintEvent = exports.ReserveAssetDataEvent = exports.InterestUpdateEvent = exports.GenericSuilendEvent = exports.SuilendTransactionModule = exports.SuilendEventType = void 0;
|
|
13
|
+
exports.getEvents = getEvents;
|
|
14
|
+
exports.getRedeemEvent = getRedeemEvent;
|
|
13
15
|
var SuilendEventType;
|
|
14
16
|
(function (SuilendEventType) {
|
|
15
17
|
SuilendEventType["InterestUpdateEvent"] = "InterestUpdateEvent";
|
|
@@ -89,7 +91,6 @@ function getEvents(client, digest) {
|
|
|
89
91
|
return events;
|
|
90
92
|
});
|
|
91
93
|
}
|
|
92
|
-
exports.getEvents = getEvents;
|
|
93
94
|
function getRedeemEvent(client, digest) {
|
|
94
95
|
return __awaiter(this, void 0, void 0, function* () {
|
|
95
96
|
const events = yield getEvents(client, digest);
|
|
@@ -101,4 +102,3 @@ function getRedeemEvent(client, digest) {
|
|
|
101
102
|
return null;
|
|
102
103
|
});
|
|
103
104
|
}
|
|
104
|
-
exports.getRedeemEvent = getRedeemEvent;
|
package/core/utils/simulate.d.ts
CHANGED
package/core/utils/simulate.js
CHANGED
|
@@ -13,10 +13,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.Simulate = void 0;
|
|
16
|
-
const bcs_1 = require("@mysten/sui
|
|
17
|
-
const utils_1 = require("@mysten/sui
|
|
16
|
+
const bcs_1 = require("@mysten/sui/bcs");
|
|
17
|
+
const utils_1 = require("@mysten/sui/utils");
|
|
18
18
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
19
|
+
const uuid_1 = require("uuid");
|
|
19
20
|
const constants_1 = require("../constants");
|
|
21
|
+
const utils_2 = require("../utils");
|
|
20
22
|
class Simulate {
|
|
21
23
|
constructor({ Decimal, Obligation, Deposit, Borrow, Reserve, ReserveConfig, PoolRewardManager, PoolReward, UserRewardManager, UserReward, }) {
|
|
22
24
|
this.Decimal = Decimal;
|
|
@@ -35,7 +37,7 @@ class Simulate {
|
|
|
35
37
|
*/
|
|
36
38
|
calculateUtilizationRate(reserve) {
|
|
37
39
|
const { mintDecimals } = reserve;
|
|
38
|
-
//
|
|
40
|
+
// From core/parsers/reserve.ts > parseReserve
|
|
39
41
|
const availableAmount = new bignumber_js_1.default(reserve.availableAmount.toString()).div(10 ** mintDecimals);
|
|
40
42
|
const borrowedAmount = new bignumber_js_1.default(reserve.borrowedAmount.value.toString())
|
|
41
43
|
.div(constants_1.WAD)
|
|
@@ -59,22 +61,13 @@ class Simulate {
|
|
|
59
61
|
calculateBorrowApr(reserve) {
|
|
60
62
|
const config = reserve.config.element;
|
|
61
63
|
const utilizationPercent = this.calculateUtilizationPercent(reserve);
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
const leftAprPercent = new bignumber_js_1.default(config.interestRateAprs[i - 1].toString()).div(100);
|
|
70
|
-
const rightAprPercent = new bignumber_js_1.default(config.interestRateAprs[i].toString()).div(100);
|
|
71
|
-
const weight = new bignumber_js_1.default(utilizationPercent.minus(leftUtilPercent)).div(rightUtilPercent.minus(leftUtilPercent));
|
|
72
|
-
return leftAprPercent.plus(weight.times(rightAprPercent.minus(leftAprPercent)));
|
|
73
|
-
}
|
|
74
|
-
i = i + 1;
|
|
75
|
-
}
|
|
76
|
-
// Should never reach here
|
|
77
|
-
return new bignumber_js_1.default(0);
|
|
64
|
+
// From core/parsers/reserve.ts > parseReserveConfig
|
|
65
|
+
const interestRate = config.interestRateUtils.map((util, index) => ({
|
|
66
|
+
id: (0, uuid_1.v4)(),
|
|
67
|
+
utilPercent: new bignumber_js_1.default(util.toString()),
|
|
68
|
+
aprPercent: new bignumber_js_1.default(config.interestRateAprs[index].toString()).div(100),
|
|
69
|
+
}));
|
|
70
|
+
return (0, utils_2.linearlyInterpolate)(interestRate, "utilPercent", "aprPercent", utilizationPercent);
|
|
78
71
|
}
|
|
79
72
|
calculateBorrowAprPercent(reserve) {
|
|
80
73
|
return this.calculateBorrowApr(reserve);
|
|
@@ -86,9 +79,11 @@ class Simulate {
|
|
|
86
79
|
const config = reserve.config.element;
|
|
87
80
|
const utilizationPercent = this.calculateUtilizationPercent(reserve);
|
|
88
81
|
const borrowAprPercent = this.calculateBorrowAprPercent(reserve);
|
|
82
|
+
// From core/parsers/reserve.ts > parseReserveConfig
|
|
83
|
+
const spreadFeeBps = Number(config.spreadFeeBps.toString());
|
|
89
84
|
return new bignumber_js_1.default(utilizationPercent.div(100))
|
|
90
85
|
.times(borrowAprPercent.div(100))
|
|
91
|
-
.times(1 -
|
|
86
|
+
.times(1 - spreadFeeBps / 10000)
|
|
92
87
|
.times(100);
|
|
93
88
|
}
|
|
94
89
|
calculateDepositAprPercent(reserve) {
|
|
@@ -157,7 +152,7 @@ class Simulate {
|
|
|
157
152
|
}
|
|
158
153
|
refreshReservePrice(reserves, pythConnection) {
|
|
159
154
|
return __awaiter(this, void 0, void 0, function* () {
|
|
160
|
-
const priceIdentifiers = reserves.map((r) => (0, utils_1.
|
|
155
|
+
const priceIdentifiers = reserves.map((r) => (0, utils_1.toHex)(new Uint8Array(r.priceIdentifier.bytes)));
|
|
161
156
|
const priceData = yield pythConnection.getLatestPriceFeeds(priceIdentifiers);
|
|
162
157
|
if (!priceData)
|
|
163
158
|
return reserves;
|
package/core/utils.d.ts
CHANGED
|
@@ -1 +1,7 @@
|
|
|
1
|
+
import BigNumber from "bignumber.js";
|
|
2
|
+
import { ParsedReserve } from "./parsers/reserve";
|
|
1
3
|
export declare const toHexString: (bytes: number[]) => string;
|
|
4
|
+
export declare const reserveSort: (reserves: ParsedReserve[], aCoinType: string, bCoinType: string) => number;
|
|
5
|
+
export declare const linearlyInterpolate: (array: any[], xKey: string, yKey: string, _xValue: number | BigNumber) => BigNumber;
|
|
6
|
+
export declare const isCTokenCoinType: (coinType: string) => boolean;
|
|
7
|
+
export declare const extractCTokenCoinType: (coinType: string) => string;
|
package/core/utils.js
CHANGED
|
@@ -1,7 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.toHexString = void 0;
|
|
6
|
+
exports.extractCTokenCoinType = exports.isCTokenCoinType = exports.linearlyInterpolate = exports.reserveSort = exports.toHexString = void 0;
|
|
7
|
+
const utils_1 = require("@mysten/sui/utils");
|
|
8
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
4
9
|
const toHexString = (bytes) => Array.from(bytes, function (byte) {
|
|
5
10
|
return ("0" + (byte & 0xff).toString(16)).slice(-2);
|
|
6
11
|
}).join("");
|
|
7
12
|
exports.toHexString = toHexString;
|
|
13
|
+
const reserveSort = (reserves, aCoinType, bCoinType) => reserves.findIndex((r) => r.coinType === aCoinType) -
|
|
14
|
+
reserves.findIndex((r) => r.coinType === bCoinType);
|
|
15
|
+
exports.reserveSort = reserveSort;
|
|
16
|
+
const linearlyInterpolate = (array, xKey, yKey, _xValue) => {
|
|
17
|
+
let i = 1;
|
|
18
|
+
while (i < array.length) {
|
|
19
|
+
const leftXValue = new bignumber_js_1.default(array[i - 1][xKey]);
|
|
20
|
+
const leftYValue = new bignumber_js_1.default(array[i - 1][yKey]);
|
|
21
|
+
const xValue = new bignumber_js_1.default(_xValue);
|
|
22
|
+
const rightXValue = new bignumber_js_1.default(array[i][xKey]);
|
|
23
|
+
const rightYValue = new bignumber_js_1.default(array[i][yKey]);
|
|
24
|
+
if (xValue.gte(leftXValue) && xValue.lte(rightXValue)) {
|
|
25
|
+
const weight = new bignumber_js_1.default(xValue.minus(leftXValue)).div(rightXValue.minus(leftXValue));
|
|
26
|
+
return leftYValue.plus(weight.times(rightYValue.minus(leftYValue)));
|
|
27
|
+
}
|
|
28
|
+
i = i + 1;
|
|
29
|
+
}
|
|
30
|
+
// Should never reach here
|
|
31
|
+
return new bignumber_js_1.default(0);
|
|
32
|
+
};
|
|
33
|
+
exports.linearlyInterpolate = linearlyInterpolate;
|
|
34
|
+
const isCTokenCoinType = (coinType) => coinType.includes("::reserve::CToken<") && coinType.endsWith(">");
|
|
35
|
+
exports.isCTokenCoinType = isCTokenCoinType;
|
|
36
|
+
const extractCTokenCoinType = (coinType) => {
|
|
37
|
+
if (!(0, exports.isCTokenCoinType)(coinType))
|
|
38
|
+
throw new Error("Not a CToken ");
|
|
39
|
+
return (0, utils_1.normalizeStructTag)(coinType.split("::reserve::CToken")[1].split(",")[1].slice(0, -1));
|
|
40
|
+
};
|
|
41
|
+
exports.extractCTokenCoinType = extractCTokenCoinType;
|