@indigo-labs/indigo-sdk 0.3.9 → 0.3.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/index.d.mts +337 -772
  2. package/dist/index.d.ts +337 -772
  3. package/dist/index.js +1194 -557
  4. package/dist/index.mjs +1091 -451
  5. package/package.json +1 -1
  6. package/src/contracts/cdp/helpers.ts +12 -0
  7. package/src/contracts/cdp/transactions.ts +32 -8
  8. package/src/contracts/gov/helpers.ts +58 -0
  9. package/src/contracts/gov/transactions.ts +35 -14
  10. package/src/contracts/iasset/helpers.ts +3 -0
  11. package/src/contracts/price-oracle/types-new.ts +1 -1
  12. package/src/contracts/rob/helpers.ts +274 -196
  13. package/src/contracts/rob/transactions.ts +11 -5
  14. package/src/contracts/rob-leverage/helpers.ts +379 -371
  15. package/src/contracts/rob-leverage/transactions.ts +176 -104
  16. package/src/contracts/staking/transactions.ts +3 -0
  17. package/src/contracts/treasury/transactions.ts +58 -36
  18. package/src/contracts/treasury/types-new.ts +1 -1
  19. package/src/index.ts +0 -2
  20. package/src/utils/utils.ts +0 -3
  21. package/src/validators/cdp-creator-validator.ts +1 -1
  22. package/src/validators/cdp-redeem-validator.ts +1 -1
  23. package/src/validators/cdp-validator.ts +1 -1
  24. package/src/validators/collector-validator.ts +1 -1
  25. package/src/validators/execute-validator.ts +1 -1
  26. package/src/validators/governance-validator.ts +1 -1
  27. package/src/validators/interest-collection-validator.ts +1 -1
  28. package/src/validators/interest-oracle-validator.ts +1 -1
  29. package/src/validators/poll-manager-validator.ts +1 -1
  30. package/src/validators/poll-shard-validator.ts +1 -1
  31. package/src/validators/stability-pool-validator.ts +1 -1
  32. package/src/validators/stableswap-validator.ts +1 -1
  33. package/src/validators/staking-validator.ts +1 -1
  34. package/src/validators/treasury-validator.ts +1 -1
  35. package/tests/cdp/actions.ts +87 -6
  36. package/tests/cdp/cdp-queries.ts +1 -1
  37. package/tests/cdp/cdp.test.ts +949 -94
  38. package/tests/endpoints/initialize.ts +14 -2
  39. package/tests/gov/gov.test.ts +864 -1
  40. package/tests/interest-collection/interest-collector-queries.ts +2 -1
  41. package/tests/queries/collector-queries.ts +2 -1
  42. package/tests/queries/poll-queries.ts +2 -1
  43. package/tests/queries/treasury-queries.ts +8 -2
  44. package/tests/rob/rob-leverage.test.ts +1646 -612
  45. package/tests/rob/rob.test.ts +35 -19
  46. package/tests/rob/transactions-mutated.ts +6 -4
  47. package/tests/stability-pool.test.ts +251 -25
package/dist/index.d.ts CHANGED
@@ -571,21 +571,53 @@ declare function fromSystemParamsScriptRef(ref: ScriptReference): OutRef;
571
571
  declare function fromSysParamsCredential(cred: ScriptCredential): Credential;
572
572
  declare function fromSysParamsStakeCredential(cred: ScriptCredential): StakeCredential;
573
573
 
574
- declare function openCdp(collateralAmount: bigint, mintedAmount: bigint, sysParams: SystemParams, cdpCreatorOref: OutRef, iassetOref: OutRef, collateralAssetOref: OutRef, priceOracleOref: OutRef | undefined, interestOracleOref: OutRef, treasuryOref: OutRef, lucid: LucidEvolution, currentSlot: number, pythMessage?: string | undefined, pythStateOref?: OutRef | undefined): Promise<TxBuilder>;
575
- declare function adjustCdp(collateralAdjustment: bigint, debtAdjustment: bigint, cdpOref: OutRef, iassetOref: OutRef, collateralAssetOref: OutRef, priceOracleOref: OutRef | undefined, interestOracleOref: OutRef, treasuryOref: OutRef, interestCollectorOref: OutRef, sysParams: SystemParams, lucid: LucidEvolution, currentSlot: number, pythMessage?: string | undefined, pythStateOref?: OutRef | undefined): Promise<TxBuilder>;
576
- declare function depositCdp(amount: bigint, cdpOref: OutRef, iassetOref: OutRef, collateralAssetOref: OutRef, interestOracleOref: OutRef, treasuryOref: OutRef, interestCollectorOref: OutRef, params: SystemParams, lucid: LucidEvolution, currentSlot: number): Promise<TxBuilder>;
577
- declare function withdrawCdp(amount: bigint, cdpOref: OutRef, iassetOref: OutRef, collateralAssetOref: OutRef, priceOracleOref: OutRef | undefined, interestOracleOref: OutRef, treasuryOref: OutRef, interestCollectorOref: OutRef, params: SystemParams, lucid: LucidEvolution, currentSlot: number, pythMessage?: string | undefined, pythStateOref?: OutRef | undefined): Promise<TxBuilder>;
578
- declare function mintCdp(amount: bigint, cdpOref: OutRef, iassetOref: OutRef, collateralAssetOref: OutRef, priceOracleOref: OutRef | undefined, interestOracleOref: OutRef, treasuryOref: OutRef, interestCollectorOref: OutRef, params: SystemParams, lucid: LucidEvolution, currentSlot: number, pythMessage?: string | undefined, pythStateOref?: OutRef | undefined): Promise<TxBuilder>;
579
- declare function burnCdp(amount: bigint, cdpOref: OutRef, iassetOref: OutRef, collateralAssetOref: OutRef, interestOracleOref: OutRef, treasuryOref: OutRef, interestCollectorOref: OutRef, params: SystemParams, lucid: LucidEvolution, currentSlot: number): Promise<TxBuilder>;
574
+ declare function openCdp(collateralAmount: bigint, mintedAmount: bigint, sysParams: SystemParams, cdpCreatorOref: OutRef, iassetOref: OutRef, collateralAssetOref: OutRef, priceOracleOref: OutRef | undefined, interestOracleOref: OutRef,
575
+ /**
576
+ * `undefined` in case using direct treasury payment.
577
+ */
578
+ treasuryOref: OutRef | undefined, lucid: LucidEvolution, currentSlot: number, pythMessage?: string | undefined, pythStateOref?: OutRef | undefined): Promise<TxBuilder>;
579
+ declare function adjustCdp(collateralAdjustment: bigint, debtAdjustment: bigint, cdpOref: OutRef, iassetOref: OutRef, collateralAssetOref: OutRef, priceOracleOref: OutRef | undefined, interestOracleOref: OutRef,
580
+ /**
581
+ * `undefined` in case using direct treasury payment.
582
+ */
583
+ treasuryOref: OutRef | undefined, interestCollectorOref: OutRef, sysParams: SystemParams, lucid: LucidEvolution, currentSlot: number, pythMessage?: string | undefined, pythStateOref?: OutRef | undefined): Promise<TxBuilder>;
584
+ declare function depositCdp(amount: bigint, cdpOref: OutRef, iassetOref: OutRef, collateralAssetOref: OutRef, interestOracleOref: OutRef,
585
+ /**
586
+ * `undefined` in case using direct treasury payment.
587
+ */
588
+ treasuryOref: OutRef | undefined, interestCollectorOref: OutRef, params: SystemParams, lucid: LucidEvolution, currentSlot: number): Promise<TxBuilder>;
589
+ declare function withdrawCdp(amount: bigint, cdpOref: OutRef, iassetOref: OutRef, collateralAssetOref: OutRef, priceOracleOref: OutRef | undefined, interestOracleOref: OutRef,
590
+ /**
591
+ * `undefined` in case using direct treasury payment.
592
+ */
593
+ treasuryOref: OutRef | undefined, interestCollectorOref: OutRef, params: SystemParams, lucid: LucidEvolution, currentSlot: number, pythMessage?: string | undefined, pythStateOref?: OutRef | undefined): Promise<TxBuilder>;
594
+ declare function mintCdp(amount: bigint, cdpOref: OutRef, iassetOref: OutRef, collateralAssetOref: OutRef, priceOracleOref: OutRef | undefined, interestOracleOref: OutRef,
595
+ /**
596
+ * `undefined` in case using direct treasury payment.
597
+ */
598
+ treasuryOref: OutRef | undefined, interestCollectorOref: OutRef, params: SystemParams, lucid: LucidEvolution, currentSlot: number, pythMessage?: string | undefined, pythStateOref?: OutRef | undefined): Promise<TxBuilder>;
599
+ declare function burnCdp(amount: bigint, cdpOref: OutRef, iassetOref: OutRef, collateralAssetOref: OutRef, interestOracleOref: OutRef,
600
+ /**
601
+ * `undefined` in case using direct treasury payment.
602
+ */
603
+ treasuryOref: OutRef | undefined, interestCollectorOref: OutRef, params: SystemParams, lucid: LucidEvolution, currentSlot: number): Promise<TxBuilder>;
580
604
  declare function closeCdp(cdpOref: OutRef, collateralAssetOref: OutRef, interestOracleOref: OutRef, interestCollectorOref: OutRef, sysParams: SystemParams, lucid: LucidEvolution, currentSlot: number): Promise<TxBuilder>;
581
605
  declare function redeemCdp(
582
606
  /**
583
607
  * When the goal is to redeem the maximum possible, just pass in the total minted amount of the CDP.
584
608
  * The logic will automatically cap the amount to the max.
585
609
  */
586
- attemptedRedemptionIAssetAmt: bigint, cdpOref: OutRef, iassetOref: OutRef, collateralAssetOref: OutRef, priceOracleOref: OutRef | undefined, interestOracleOref: OutRef, interestCollectorOref: OutRef, treasuryOref: OutRef, govOref: OutRef, sysParams: SystemParams, lucid: LucidEvolution, currentSlot: number, pythMessage?: string | undefined, _pythStateOref?: OutRef | undefined): Promise<TxBuilder>;
610
+ attemptedRedemptionIAssetAmt: bigint, cdpOref: OutRef, iassetOref: OutRef, collateralAssetOref: OutRef, priceOracleOref: OutRef | undefined, interestOracleOref: OutRef, interestCollectorOref: OutRef,
611
+ /**
612
+ * `undefined` in case using direct treasury payment.
613
+ */
614
+ treasuryOref: OutRef | undefined, govOref: OutRef, sysParams: SystemParams, lucid: LucidEvolution, currentSlot: number, pythMessage?: string | undefined, _pythStateOref?: OutRef | undefined): Promise<TxBuilder>;
587
615
  declare function freezeCdp(cdpOref: OutRef, iassetOref: OutRef, collateralAssetOref: OutRef, priceOracleOref: OutRef | undefined, interestOracleOref: OutRef, sysParams: SystemParams, lucid: LucidEvolution, currentSlot: number, pythMessage?: string | undefined, pythStateOref?: OutRef | undefined): Promise<TxBuilder>;
588
- declare function liquidateCdp(cdpOref: OutRef, stabilityPoolOref: OutRef, interestCollectorOref: OutRef, treasuryOref: OutRef, sysParams: SystemParams, lucid: LucidEvolution): Promise<TxBuilder>;
616
+ declare function liquidateCdp(cdpOref: OutRef, stabilityPoolOref: OutRef, interestCollectorOref: OutRef,
617
+ /**
618
+ * `undefined` in case using direct treasury payment.
619
+ */
620
+ treasuryOref: OutRef | undefined, sysParams: SystemParams, lucid: LucidEvolution): Promise<TxBuilder>;
589
621
  declare function mergeCdps(cdpsToMergeUtxos: OutRef[], sysParams: SystemParams, lucid: LucidEvolution): Promise<TxBuilder>;
590
622
 
591
623
  declare const InterestOracleDatumSchema: TSchema.Struct<{
@@ -784,6 +816,10 @@ declare function rationalMul(a: Rational, b: Rational): Rational;
784
816
  declare function rationalDiv(a: Rational, b: Rational): Rational;
785
817
  declare function rationalToFloat(a: Rational): number;
786
818
 
819
+ /**
820
+ * Amount of iasset equal in value to the given number of collateral amount.
821
+ */
822
+ declare function iassetValueOfCollateral(collateralAmt: bigint, oraclePrice: Rational): bigint;
787
823
  /**
788
824
  * This is mostly for debugging purposes.
789
825
  */
@@ -864,744 +900,109 @@ declare const CdpRedeemParamsSchema: _lucid_evolution_lucid.TObject<{
864
900
  currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
865
901
  tokenName: _lucid_evolution_lucid.TUnsafe<string>;
866
902
  }>;
867
- interest_collector_val_hash: _lucid_evolution_lucid.TUnsafe<string>;
868
- iasset_val_hash: _lucid_evolution_lucid.TUnsafe<string>;
869
- treasury_val_hash: _lucid_evolution_lucid.TUnsafe<string>;
870
- gov_nft: _lucid_evolution_lucid.TObject<{
871
- currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
872
- tokenName: _lucid_evolution_lucid.TUnsafe<string>;
873
- }>;
874
- partial_redemption_extra_fee_lovelace: _lucid_evolution_lucid.TUnsafe<bigint>;
875
- bias_time: _lucid_evolution_lucid.TUnsafe<bigint>;
876
- }>;
877
- type CdpRedeemParams = Data.Static<typeof CdpRedeemParamsSchema>;
878
- declare function castCdpRedeemParams(params: CdpRedeemParams): Data;
879
-
880
- declare const mkCdpValidatorFromSP: (params: CdpParamsSP) => SpendingValidator;
881
- declare const mkCdpRedeemValidatorFromSP: (params: CdpRedeemParamsSP) => WithdrawalValidator;
882
-
883
- declare const CDPCreatorParamsSchema: _lucid_evolution_lucid.TObject<{
884
- cdpCreatorNft: _lucid_evolution_lucid.TObject<{
885
- currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
886
- tokenName: _lucid_evolution_lucid.TUnsafe<string>;
887
- }>;
888
- cdpAssetCs: _lucid_evolution_lucid.TUnsafe<string>;
889
- cdpAuthTk: _lucid_evolution_lucid.TObject<{
890
- currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
891
- tokenName: _lucid_evolution_lucid.TUnsafe<string>;
892
- }>;
893
- iAssetAuthTk: _lucid_evolution_lucid.TObject<{
894
- currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
895
- tokenName: _lucid_evolution_lucid.TUnsafe<string>;
896
- }>;
897
- collateralAssetAuthTk: _lucid_evolution_lucid.TObject<{
898
- currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
899
- tokenName: _lucid_evolution_lucid.TUnsafe<string>;
900
- }>;
901
- upgradeToken: _lucid_evolution_lucid.TObject<{
902
- currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
903
- tokenName: _lucid_evolution_lucid.TUnsafe<string>;
904
- }>;
905
- versionRecordToken: _lucid_evolution_lucid.TObject<{
906
- currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
907
- tokenName: _lucid_evolution_lucid.TUnsafe<string>;
908
- }>;
909
- cdpScriptHash: _lucid_evolution_lucid.TUnsafe<string>;
910
- treasuryValHash: _lucid_evolution_lucid.TUnsafe<string>;
911
- iassetValHash: _lucid_evolution_lucid.TUnsafe<string>;
912
- biasTime: _lucid_evolution_lucid.TUnsafe<bigint>;
913
- }>;
914
- type CDPCreatorParams = Data.Static<typeof CDPCreatorParamsSchema>;
915
- declare const CDPCreatorParams: CDPCreatorParams;
916
- declare function castCDPCreatorParams(params: CDPCreatorParams): Data;
917
-
918
- declare const mkCDPCreatorValidator: (params: CDPCreatorParams) => SpendingValidator;
919
- declare const mkCDPCreatorValidatorFromSP: (params: CDPCreatorParamsSP) => SpendingValidator;
920
-
921
- declare const PollManagerParamsSchema: _lucid_evolution_lucid.TObject<{
922
- govNFT: _lucid_evolution_lucid.TObject<{
923
- currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
924
- tokenName: _lucid_evolution_lucid.TUnsafe<string>;
925
- }>;
926
- pollToken: _lucid_evolution_lucid.TObject<{
927
- currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
928
- tokenName: _lucid_evolution_lucid.TUnsafe<string>;
929
- }>;
930
- upgradeToken: _lucid_evolution_lucid.TObject<{
931
- currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
932
- tokenName: _lucid_evolution_lucid.TUnsafe<string>;
933
- }>;
934
- indyAsset: _lucid_evolution_lucid.TObject<{
935
- currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
936
- tokenName: _lucid_evolution_lucid.TUnsafe<string>;
937
- }>;
938
- govExecuteValHash: _lucid_evolution_lucid.TUnsafe<string>;
939
- pBiasTime: _lucid_evolution_lucid.TUnsafe<bigint>;
940
- shardValHash: _lucid_evolution_lucid.TUnsafe<string>;
941
- treasuryValHash: _lucid_evolution_lucid.TUnsafe<string>;
942
- }>;
943
- type PollManagerParams = Data.Static<typeof PollManagerParamsSchema>;
944
- declare const PollManagerParams: PollManagerParams;
945
- declare function castPollManagerParams(params: PollManagerParams): Data;
946
-
947
- declare const PollShardParamsSchema: _lucid_evolution_lucid.TObject<{
948
- pollToken: _lucid_evolution_lucid.TObject<{
949
- currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
950
- tokenName: _lucid_evolution_lucid.TUnsafe<string>;
951
- }>;
952
- stakingToken: _lucid_evolution_lucid.TObject<{
953
- currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
954
- tokenName: _lucid_evolution_lucid.TUnsafe<string>;
955
- }>;
956
- indyAsset: _lucid_evolution_lucid.TObject<{
957
- currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
958
- tokenName: _lucid_evolution_lucid.TUnsafe<string>;
959
- }>;
960
- stakingValHash: _lucid_evolution_lucid.TUnsafe<string>;
961
- }>;
962
- type PollShardParams = Data.Static<typeof PollShardParamsSchema>;
963
- declare const PollShardParams: PollShardParams;
964
- declare function castPollShardParams(params: PollShardParams): Data;
965
-
966
- declare const mkPollManagerValidator: (params: PollManagerParams) => SpendingValidator;
967
- declare const mkPollManagerValidatorFromSP: (params: PollManagerParamsSP) => SpendingValidator;
968
- declare const mkPollShardValidator: (params: PollShardParams) => SpendingValidator;
969
- declare const mkPollShardValidatorFromSP: (params: PollShardParamsSP) => SpendingValidator;
970
-
971
- declare const PollStatusSchema: TSchema.Struct<{
972
- yesVotes: TSchema.Integer;
973
- noVotes: TSchema.Integer;
974
- }>;
975
- type PollStatus = typeof PollStatusSchema.Type;
976
- declare const PollManagerContentSchema: TSchema.Struct<{
977
- pollId: TSchema.Integer;
978
- pollOwner: TSchema.ByteArray;
979
- content: TSchema.Union<[TSchema.Struct<{
980
- ProposeIAsset: TSchema.Struct<{
981
- asset: TSchema.ByteArray;
982
- debtMintingFeeRatio: TSchema.Struct<{
983
- numerator: TSchema.Integer;
984
- denominator: TSchema.Integer;
985
- }>;
986
- liquidationProcessingFeeRatio: TSchema.Struct<{
987
- numerator: TSchema.Integer;
988
- denominator: TSchema.Integer;
989
- }>;
990
- stabilityPoolWithdrawalFeeRatio: TSchema.Struct<{
991
- numerator: TSchema.Integer;
992
- denominator: TSchema.Integer;
993
- }>;
994
- redemptionReimbursementRatio: TSchema.Struct<{
995
- numerator: TSchema.Integer;
996
- denominator: TSchema.Integer;
997
- }>;
998
- redemptionProcessingFeeRatio: TSchema.Struct<{
999
- numerator: TSchema.Integer;
1000
- denominator: TSchema.Integer;
1001
- }>;
1002
- }>;
1003
- }>, TSchema.Struct<{
1004
- ModifyIAsset: TSchema.Struct<{
1005
- asset: TSchema.ByteArray;
1006
- newDebtMintingFeeRatio: TSchema.Struct<{
1007
- numerator: TSchema.Integer;
1008
- denominator: TSchema.Integer;
1009
- }>;
1010
- newLiquidationProcessingFeeRatio: TSchema.Struct<{
1011
- numerator: TSchema.Integer;
1012
- denominator: TSchema.Integer;
1013
- }>;
1014
- newStabilityPoolWithdrawalFeeRatio: TSchema.Struct<{
1015
- numerator: TSchema.Integer;
1016
- denominator: TSchema.Integer;
1017
- }>;
1018
- newRedemptionReimbursementRatio: TSchema.Struct<{
1019
- numerator: TSchema.Integer;
1020
- denominator: TSchema.Integer;
1021
- }>;
1022
- newRedemptionProcessingFeeRatio: TSchema.Struct<{
1023
- numerator: TSchema.Integer;
1024
- denominator: TSchema.Integer;
1025
- }>;
1026
- }>;
1027
- }>, TSchema.Struct<{
1028
- AddCollateralAsset: TSchema.Struct<{
1029
- correspondingIAsset: TSchema.ByteArray;
1030
- collateralAsset: TSchema.Struct<{
1031
- currencySymbol: TSchema.ByteArray;
1032
- tokenName: TSchema.ByteArray;
1033
- }>;
1034
- assetExtraDecimals: TSchema.Integer;
1035
- assetPriceInfo: TSchema.Union<[TSchema.Struct<{
1036
- Delisted: TSchema.Struct<{
1037
- price: TSchema.Struct<{
1038
- numerator: TSchema.Integer;
1039
- denominator: TSchema.Integer;
1040
- }>;
1041
- }>;
1042
- }>, TSchema.Struct<{
1043
- OracleNft: TSchema.Struct<{
1044
- currencySymbol: TSchema.ByteArray;
1045
- tokenName: TSchema.ByteArray;
1046
- }>;
1047
- }>, TSchema.Struct<{
1048
- DeferredValidation: TSchema.Struct<{
1049
- feedValHash: TSchema.ByteArray;
1050
- }>;
1051
- }>]>;
1052
- interestOracleNft: TSchema.Struct<{
1053
- currencySymbol: TSchema.ByteArray;
1054
- tokenName: TSchema.ByteArray;
1055
- }>;
1056
- redemptionRatio: TSchema.Struct<{
1057
- numerator: TSchema.Integer;
1058
- denominator: TSchema.Integer;
1059
- }>;
1060
- maintenanceRatio: TSchema.Struct<{
1061
- numerator: TSchema.Integer;
1062
- denominator: TSchema.Integer;
1063
- }>;
1064
- liquidationRatio: TSchema.Struct<{
1065
- numerator: TSchema.Integer;
1066
- denominator: TSchema.Integer;
1067
- }>;
1068
- minCollateralAmt: TSchema.Integer;
1069
- }>;
1070
- }>, TSchema.Struct<{
1071
- UpdateCollateralAsset: TSchema.Struct<{
1072
- correspondingIAsset: TSchema.ByteArray;
1073
- collateralAsset: TSchema.Struct<{
1074
- currencySymbol: TSchema.ByteArray;
1075
- tokenName: TSchema.ByteArray;
1076
- }>;
1077
- newAssetExtraDecimals: TSchema.Integer;
1078
- newAssetPriceInfo: TSchema.Union<[TSchema.Struct<{
1079
- Delisted: TSchema.Struct<{
1080
- price: TSchema.Struct<{
1081
- numerator: TSchema.Integer;
1082
- denominator: TSchema.Integer;
1083
- }>;
1084
- }>;
1085
- }>, TSchema.Struct<{
1086
- OracleNft: TSchema.Struct<{
1087
- currencySymbol: TSchema.ByteArray;
1088
- tokenName: TSchema.ByteArray;
1089
- }>;
1090
- }>, TSchema.Struct<{
1091
- DeferredValidation: TSchema.Struct<{
1092
- feedValHash: TSchema.ByteArray;
1093
- }>;
1094
- }>]>;
1095
- newInterestOracleNft: TSchema.Struct<{
1096
- currencySymbol: TSchema.ByteArray;
1097
- tokenName: TSchema.ByteArray;
1098
- }>;
1099
- newRedemptionRatio: TSchema.Struct<{
1100
- numerator: TSchema.Integer;
1101
- denominator: TSchema.Integer;
1102
- }>;
1103
- newMaintenanceRatio: TSchema.Struct<{
1104
- numerator: TSchema.Integer;
1105
- denominator: TSchema.Integer;
1106
- }>;
1107
- newLiquidationRatio: TSchema.Struct<{
1108
- numerator: TSchema.Integer;
1109
- denominator: TSchema.Integer;
1110
- }>;
1111
- newMinCollateralAmt: TSchema.Integer;
1112
- }>;
1113
- }>, TSchema.Struct<{
1114
- ProposeStableswapPool: TSchema.Struct<{
1115
- iasset: TSchema.ByteArray;
1116
- collateralAsset: TSchema.Struct<{
1117
- currencySymbol: TSchema.ByteArray;
1118
- tokenName: TSchema.ByteArray;
1119
- }>;
1120
- collateralToIassetRatio: TSchema.Struct<{
1121
- numerator: TSchema.Integer;
1122
- denominator: TSchema.Integer;
1123
- }>;
1124
- mintingFeeRatio: TSchema.Struct<{
1125
- numerator: TSchema.Integer;
1126
- denominator: TSchema.Integer;
1127
- }>;
1128
- redemptionFeeRatio: TSchema.Struct<{
1129
- numerator: TSchema.Integer;
1130
- denominator: TSchema.Integer;
1131
- }>;
1132
- feeManager: TSchema.NullOr<TSchema.ByteArray>;
1133
- minMintingAmount: TSchema.Integer;
1134
- minRedemptionAmount: TSchema.Integer;
1135
- stableswapValHash: TSchema.ByteArray;
1136
- }>;
1137
- }>, TSchema.Struct<{
1138
- ModifyStableswapPool: TSchema.Struct<{
1139
- iasset: TSchema.ByteArray;
1140
- collateralAsset: TSchema.Struct<{
1141
- currencySymbol: TSchema.ByteArray;
1142
- tokenName: TSchema.ByteArray;
1143
- }>;
1144
- newCollateralToIassetRatio: TSchema.Struct<{
1145
- numerator: TSchema.Integer;
1146
- denominator: TSchema.Integer;
1147
- }>;
1148
- newMintingFeeRatio: TSchema.Struct<{
1149
- numerator: TSchema.Integer;
1150
- denominator: TSchema.Integer;
1151
- }>;
1152
- newRedemptionFeeRatio: TSchema.Struct<{
1153
- numerator: TSchema.Integer;
1154
- denominator: TSchema.Integer;
1155
- }>;
1156
- newMintingEnabled: TSchema.Boolean;
1157
- newRedemptionEnabled: TSchema.Boolean;
1158
- newFeeManager: TSchema.NullOr<TSchema.ByteArray>;
1159
- newMinMintingAmount: TSchema.Integer;
1160
- newMinRedemptionAmount: TSchema.Integer;
1161
- newStableswapValHash: TSchema.ByteArray;
1162
- }>;
1163
- }>, TSchema.Struct<{
1164
- ModifyProtocolParams: TSchema.Struct<{
1165
- newParams: TSchema.Struct<{
1166
- proposalDeposit: TSchema.Integer;
1167
- votingPeriod: TSchema.Integer;
1168
- effectiveDelay: TSchema.Integer;
1169
- expirationPeriod: TSchema.Integer;
1170
- proposingPeriod: TSchema.Integer;
1171
- totalShards: TSchema.Integer;
1172
- minimumQuorum: TSchema.Integer;
1173
- maxTreasuryLovelaceSpend: TSchema.Integer;
1174
- maxTreasuryIndySpend: TSchema.Integer;
1175
- cdpRedemptionRequiredSignature: TSchema.NullOr<TSchema.ByteArray>;
1176
- electorate: TSchema.Integer;
1177
- foundationMultisig: TSchema.Union<[TSchema.Struct<{
1178
- Signature: TSchema.Struct<{
1179
- keyHash: TSchema.ByteArray;
1180
- }>;
1181
- }>, TSchema.Struct<{
1182
- AtLeast: TSchema.Struct<{
1183
- required: TSchema.Integer;
1184
- authSignatories: TSchema.Array<effect_Schema.SchemaClass<Data$1.Data, Data$1.Data, never>>;
1185
- }>;
1186
- }>]>;
1187
- }>;
1188
- }>;
1189
- }>, TSchema.Struct<{
1190
- UpgradeProtocol: TSchema.Struct<{
1191
- content: TSchema.Struct<{
1192
- upgradeId: TSchema.Integer;
1193
- upgradePaths: TSchema.Array<TSchema.Tuple<[TSchema.ByteArray, TSchema.Struct<{
1194
- upgradeSymbol: TSchema.ByteArray;
1195
- }>]>>;
1196
- }>;
1197
- }>;
1198
- }>, TSchema.Struct<{
1199
- TextProposal: TSchema.ByteArray;
1200
- }>]>;
1201
- treasuryWithdrawal: TSchema.NullOr<TSchema.Struct<{
1202
- destination: TSchema.Struct<{
1203
- paymentCredential: TSchema.Union<[TSchema.Struct<{
1204
- PublicKeyCredential: TSchema.ByteArray;
1205
- }>, TSchema.Struct<{
1206
- ScriptCredential: TSchema.ByteArray;
1207
- }>]>;
1208
- stakeCredential: TSchema.NullOr<TSchema.Union<[TSchema.Struct<{
1209
- Inline: TSchema.Union<[TSchema.Struct<{
1210
- PublicKeyCredential: TSchema.ByteArray;
1211
- }>, TSchema.Struct<{
1212
- ScriptCredential: TSchema.ByteArray;
1213
- }>]>;
1214
- }>, TSchema.Struct<{
1215
- Pointer: TSchema.Struct<{
1216
- slotNumber: TSchema.Integer;
1217
- transactionIndex: TSchema.Integer;
1218
- certificateIndex: TSchema.Integer;
1219
- }>;
1220
- }>]>>;
1221
- }>;
1222
- value: TSchema.Array<TSchema.Struct<{
1223
- currencySymbol: TSchema.ByteArray;
1224
- tokenName: TSchema.ByteArray;
1225
- amount: TSchema.Integer;
1226
- }>>;
1227
- }>>;
1228
- status: TSchema.Struct<{
1229
- yesVotes: TSchema.Integer;
1230
- noVotes: TSchema.Integer;
1231
- }>;
1232
- votingEndTime: TSchema.Integer;
1233
- createdShardsCount: TSchema.Integer;
1234
- talliedShardsCount: TSchema.Integer;
1235
- totalShardsCount: TSchema.Integer;
1236
- proposingEndTime: TSchema.Integer;
1237
- expirationTime: TSchema.Integer;
1238
- protocolVersion: TSchema.Integer;
1239
- minimumQuorum: TSchema.Integer;
1240
- }>;
1241
- type PollManagerContent = typeof PollManagerContentSchema.Type;
1242
- declare const PollShardContentSchema: TSchema.Struct<{
1243
- pollId: TSchema.Integer;
1244
- status: TSchema.Struct<{
1245
- yesVotes: TSchema.Integer;
1246
- noVotes: TSchema.Integer;
1247
- }>;
1248
- votingEndTime: TSchema.Integer;
1249
- managerAddress: TSchema.Struct<{
1250
- paymentCredential: TSchema.Union<[TSchema.Struct<{
1251
- PublicKeyCredential: TSchema.ByteArray;
1252
- }>, TSchema.Struct<{
1253
- ScriptCredential: TSchema.ByteArray;
1254
- }>]>;
1255
- stakeCredential: TSchema.NullOr<TSchema.Union<[TSchema.Struct<{
1256
- Inline: TSchema.Union<[TSchema.Struct<{
1257
- PublicKeyCredential: TSchema.ByteArray;
1258
- }>, TSchema.Struct<{
1259
- ScriptCredential: TSchema.ByteArray;
1260
- }>]>;
1261
- }>, TSchema.Struct<{
1262
- Pointer: TSchema.Struct<{
1263
- slotNumber: TSchema.Integer;
1264
- transactionIndex: TSchema.Integer;
1265
- certificateIndex: TSchema.Integer;
1266
- }>;
1267
- }>]>>;
1268
- }>;
1269
- }>;
1270
- type PollShardContent = typeof PollShardContentSchema.Type;
1271
- declare const PollDatumSchema: TSchema.Union<[TSchema.Struct<{
1272
- PollManager: TSchema.Struct<{
1273
- pollId: TSchema.Integer;
1274
- pollOwner: TSchema.ByteArray;
1275
- content: TSchema.Union<[TSchema.Struct<{
1276
- ProposeIAsset: TSchema.Struct<{
1277
- asset: TSchema.ByteArray;
1278
- debtMintingFeeRatio: TSchema.Struct<{
1279
- numerator: TSchema.Integer;
1280
- denominator: TSchema.Integer;
1281
- }>;
1282
- liquidationProcessingFeeRatio: TSchema.Struct<{
1283
- numerator: TSchema.Integer;
1284
- denominator: TSchema.Integer;
1285
- }>;
1286
- stabilityPoolWithdrawalFeeRatio: TSchema.Struct<{
1287
- numerator: TSchema.Integer;
1288
- denominator: TSchema.Integer;
1289
- }>;
1290
- redemptionReimbursementRatio: TSchema.Struct<{
1291
- numerator: TSchema.Integer;
1292
- denominator: TSchema.Integer;
1293
- }>;
1294
- redemptionProcessingFeeRatio: TSchema.Struct<{
1295
- numerator: TSchema.Integer;
1296
- denominator: TSchema.Integer;
1297
- }>;
1298
- }>;
1299
- }>, TSchema.Struct<{
1300
- ModifyIAsset: TSchema.Struct<{
1301
- asset: TSchema.ByteArray;
1302
- newDebtMintingFeeRatio: TSchema.Struct<{
1303
- numerator: TSchema.Integer;
1304
- denominator: TSchema.Integer;
1305
- }>;
1306
- newLiquidationProcessingFeeRatio: TSchema.Struct<{
1307
- numerator: TSchema.Integer;
1308
- denominator: TSchema.Integer;
1309
- }>;
1310
- newStabilityPoolWithdrawalFeeRatio: TSchema.Struct<{
1311
- numerator: TSchema.Integer;
1312
- denominator: TSchema.Integer;
1313
- }>;
1314
- newRedemptionReimbursementRatio: TSchema.Struct<{
1315
- numerator: TSchema.Integer;
1316
- denominator: TSchema.Integer;
1317
- }>;
1318
- newRedemptionProcessingFeeRatio: TSchema.Struct<{
1319
- numerator: TSchema.Integer;
1320
- denominator: TSchema.Integer;
1321
- }>;
1322
- }>;
1323
- }>, TSchema.Struct<{
1324
- AddCollateralAsset: TSchema.Struct<{
1325
- correspondingIAsset: TSchema.ByteArray;
1326
- collateralAsset: TSchema.Struct<{
1327
- currencySymbol: TSchema.ByteArray;
1328
- tokenName: TSchema.ByteArray;
1329
- }>;
1330
- assetExtraDecimals: TSchema.Integer;
1331
- assetPriceInfo: TSchema.Union<[TSchema.Struct<{
1332
- Delisted: TSchema.Struct<{
1333
- price: TSchema.Struct<{
1334
- numerator: TSchema.Integer;
1335
- denominator: TSchema.Integer;
1336
- }>;
1337
- }>;
1338
- }>, TSchema.Struct<{
1339
- OracleNft: TSchema.Struct<{
1340
- currencySymbol: TSchema.ByteArray;
1341
- tokenName: TSchema.ByteArray;
1342
- }>;
1343
- }>, TSchema.Struct<{
1344
- DeferredValidation: TSchema.Struct<{
1345
- feedValHash: TSchema.ByteArray;
1346
- }>;
1347
- }>]>;
1348
- interestOracleNft: TSchema.Struct<{
1349
- currencySymbol: TSchema.ByteArray;
1350
- tokenName: TSchema.ByteArray;
1351
- }>;
1352
- redemptionRatio: TSchema.Struct<{
1353
- numerator: TSchema.Integer;
1354
- denominator: TSchema.Integer;
1355
- }>;
1356
- maintenanceRatio: TSchema.Struct<{
1357
- numerator: TSchema.Integer;
1358
- denominator: TSchema.Integer;
1359
- }>;
1360
- liquidationRatio: TSchema.Struct<{
1361
- numerator: TSchema.Integer;
1362
- denominator: TSchema.Integer;
1363
- }>;
1364
- minCollateralAmt: TSchema.Integer;
1365
- }>;
1366
- }>, TSchema.Struct<{
1367
- UpdateCollateralAsset: TSchema.Struct<{
1368
- correspondingIAsset: TSchema.ByteArray;
1369
- collateralAsset: TSchema.Struct<{
1370
- currencySymbol: TSchema.ByteArray;
1371
- tokenName: TSchema.ByteArray;
1372
- }>;
1373
- newAssetExtraDecimals: TSchema.Integer;
1374
- newAssetPriceInfo: TSchema.Union<[TSchema.Struct<{
1375
- Delisted: TSchema.Struct<{
1376
- price: TSchema.Struct<{
1377
- numerator: TSchema.Integer;
1378
- denominator: TSchema.Integer;
1379
- }>;
1380
- }>;
1381
- }>, TSchema.Struct<{
1382
- OracleNft: TSchema.Struct<{
1383
- currencySymbol: TSchema.ByteArray;
1384
- tokenName: TSchema.ByteArray;
1385
- }>;
1386
- }>, TSchema.Struct<{
1387
- DeferredValidation: TSchema.Struct<{
1388
- feedValHash: TSchema.ByteArray;
1389
- }>;
1390
- }>]>;
1391
- newInterestOracleNft: TSchema.Struct<{
1392
- currencySymbol: TSchema.ByteArray;
1393
- tokenName: TSchema.ByteArray;
1394
- }>;
1395
- newRedemptionRatio: TSchema.Struct<{
1396
- numerator: TSchema.Integer;
1397
- denominator: TSchema.Integer;
1398
- }>;
1399
- newMaintenanceRatio: TSchema.Struct<{
1400
- numerator: TSchema.Integer;
1401
- denominator: TSchema.Integer;
1402
- }>;
1403
- newLiquidationRatio: TSchema.Struct<{
1404
- numerator: TSchema.Integer;
1405
- denominator: TSchema.Integer;
1406
- }>;
1407
- newMinCollateralAmt: TSchema.Integer;
1408
- }>;
1409
- }>, TSchema.Struct<{
1410
- ProposeStableswapPool: TSchema.Struct<{
1411
- iasset: TSchema.ByteArray;
1412
- collateralAsset: TSchema.Struct<{
1413
- currencySymbol: TSchema.ByteArray;
1414
- tokenName: TSchema.ByteArray;
1415
- }>;
1416
- collateralToIassetRatio: TSchema.Struct<{
1417
- numerator: TSchema.Integer;
1418
- denominator: TSchema.Integer;
1419
- }>;
1420
- mintingFeeRatio: TSchema.Struct<{
1421
- numerator: TSchema.Integer;
1422
- denominator: TSchema.Integer;
1423
- }>;
1424
- redemptionFeeRatio: TSchema.Struct<{
1425
- numerator: TSchema.Integer;
1426
- denominator: TSchema.Integer;
1427
- }>;
1428
- feeManager: TSchema.NullOr<TSchema.ByteArray>;
1429
- minMintingAmount: TSchema.Integer;
1430
- minRedemptionAmount: TSchema.Integer;
1431
- stableswapValHash: TSchema.ByteArray;
1432
- }>;
1433
- }>, TSchema.Struct<{
1434
- ModifyStableswapPool: TSchema.Struct<{
1435
- iasset: TSchema.ByteArray;
1436
- collateralAsset: TSchema.Struct<{
1437
- currencySymbol: TSchema.ByteArray;
1438
- tokenName: TSchema.ByteArray;
1439
- }>;
1440
- newCollateralToIassetRatio: TSchema.Struct<{
1441
- numerator: TSchema.Integer;
1442
- denominator: TSchema.Integer;
1443
- }>;
1444
- newMintingFeeRatio: TSchema.Struct<{
1445
- numerator: TSchema.Integer;
1446
- denominator: TSchema.Integer;
1447
- }>;
1448
- newRedemptionFeeRatio: TSchema.Struct<{
1449
- numerator: TSchema.Integer;
1450
- denominator: TSchema.Integer;
1451
- }>;
1452
- newMintingEnabled: TSchema.Boolean;
1453
- newRedemptionEnabled: TSchema.Boolean;
1454
- newFeeManager: TSchema.NullOr<TSchema.ByteArray>;
1455
- newMinMintingAmount: TSchema.Integer;
1456
- newMinRedemptionAmount: TSchema.Integer;
1457
- newStableswapValHash: TSchema.ByteArray;
1458
- }>;
1459
- }>, TSchema.Struct<{
1460
- ModifyProtocolParams: TSchema.Struct<{
1461
- newParams: TSchema.Struct<{
1462
- proposalDeposit: TSchema.Integer;
1463
- votingPeriod: TSchema.Integer;
1464
- effectiveDelay: TSchema.Integer;
1465
- expirationPeriod: TSchema.Integer;
1466
- proposingPeriod: TSchema.Integer;
1467
- totalShards: TSchema.Integer;
1468
- minimumQuorum: TSchema.Integer;
1469
- maxTreasuryLovelaceSpend: TSchema.Integer;
1470
- maxTreasuryIndySpend: TSchema.Integer;
1471
- cdpRedemptionRequiredSignature: TSchema.NullOr<TSchema.ByteArray>;
1472
- electorate: TSchema.Integer;
1473
- foundationMultisig: TSchema.Union<[TSchema.Struct<{
1474
- Signature: TSchema.Struct<{
1475
- keyHash: TSchema.ByteArray;
1476
- }>;
1477
- }>, TSchema.Struct<{
1478
- AtLeast: TSchema.Struct<{
1479
- required: TSchema.Integer;
1480
- authSignatories: TSchema.Array<effect_Schema.SchemaClass<Data$1.Data, Data$1.Data, never>>;
1481
- }>;
1482
- }>]>;
1483
- }>;
1484
- }>;
1485
- }>, TSchema.Struct<{
1486
- UpgradeProtocol: TSchema.Struct<{
1487
- content: TSchema.Struct<{
1488
- upgradeId: TSchema.Integer;
1489
- upgradePaths: TSchema.Array<TSchema.Tuple<[TSchema.ByteArray, TSchema.Struct<{
1490
- upgradeSymbol: TSchema.ByteArray;
1491
- }>]>>;
1492
- }>;
1493
- }>;
1494
- }>, TSchema.Struct<{
1495
- TextProposal: TSchema.ByteArray;
1496
- }>]>;
1497
- treasuryWithdrawal: TSchema.NullOr<TSchema.Struct<{
1498
- destination: TSchema.Struct<{
1499
- paymentCredential: TSchema.Union<[TSchema.Struct<{
1500
- PublicKeyCredential: TSchema.ByteArray;
1501
- }>, TSchema.Struct<{
1502
- ScriptCredential: TSchema.ByteArray;
1503
- }>]>;
1504
- stakeCredential: TSchema.NullOr<TSchema.Union<[TSchema.Struct<{
1505
- Inline: TSchema.Union<[TSchema.Struct<{
1506
- PublicKeyCredential: TSchema.ByteArray;
1507
- }>, TSchema.Struct<{
1508
- ScriptCredential: TSchema.ByteArray;
1509
- }>]>;
1510
- }>, TSchema.Struct<{
1511
- Pointer: TSchema.Struct<{
1512
- slotNumber: TSchema.Integer;
1513
- transactionIndex: TSchema.Integer;
1514
- certificateIndex: TSchema.Integer;
1515
- }>;
1516
- }>]>>;
1517
- }>;
1518
- value: TSchema.Array<TSchema.Struct<{
1519
- currencySymbol: TSchema.ByteArray;
1520
- tokenName: TSchema.ByteArray;
1521
- amount: TSchema.Integer;
1522
- }>>;
1523
- }>>;
1524
- status: TSchema.Struct<{
1525
- yesVotes: TSchema.Integer;
1526
- noVotes: TSchema.Integer;
1527
- }>;
1528
- votingEndTime: TSchema.Integer;
1529
- createdShardsCount: TSchema.Integer;
1530
- talliedShardsCount: TSchema.Integer;
1531
- totalShardsCount: TSchema.Integer;
1532
- proposingEndTime: TSchema.Integer;
1533
- expirationTime: TSchema.Integer;
1534
- protocolVersion: TSchema.Integer;
1535
- minimumQuorum: TSchema.Integer;
903
+ interest_collector_val_hash: _lucid_evolution_lucid.TUnsafe<string>;
904
+ iasset_val_hash: _lucid_evolution_lucid.TUnsafe<string>;
905
+ treasury_val_hash: _lucid_evolution_lucid.TUnsafe<string>;
906
+ gov_nft: _lucid_evolution_lucid.TObject<{
907
+ currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
908
+ tokenName: _lucid_evolution_lucid.TUnsafe<string>;
1536
909
  }>;
1537
- }>, TSchema.Struct<{
1538
- PollShard: TSchema.Struct<{
1539
- pollId: TSchema.Integer;
1540
- status: TSchema.Struct<{
1541
- yesVotes: TSchema.Integer;
1542
- noVotes: TSchema.Integer;
1543
- }>;
1544
- votingEndTime: TSchema.Integer;
1545
- managerAddress: TSchema.Struct<{
1546
- paymentCredential: TSchema.Union<[TSchema.Struct<{
1547
- PublicKeyCredential: TSchema.ByteArray;
1548
- }>, TSchema.Struct<{
1549
- ScriptCredential: TSchema.ByteArray;
1550
- }>]>;
1551
- stakeCredential: TSchema.NullOr<TSchema.Union<[TSchema.Struct<{
1552
- Inline: TSchema.Union<[TSchema.Struct<{
1553
- PublicKeyCredential: TSchema.ByteArray;
1554
- }>, TSchema.Struct<{
1555
- ScriptCredential: TSchema.ByteArray;
1556
- }>]>;
1557
- }>, TSchema.Struct<{
1558
- Pointer: TSchema.Struct<{
1559
- slotNumber: TSchema.Integer;
1560
- transactionIndex: TSchema.Integer;
1561
- certificateIndex: TSchema.Integer;
1562
- }>;
1563
- }>]>>;
1564
- }>;
910
+ partial_redemption_extra_fee_lovelace: _lucid_evolution_lucid.TUnsafe<bigint>;
911
+ bias_time: _lucid_evolution_lucid.TUnsafe<bigint>;
912
+ }>;
913
+ type CdpRedeemParams = Data.Static<typeof CdpRedeemParamsSchema>;
914
+ declare function castCdpRedeemParams(params: CdpRedeemParams): Data;
915
+
916
+ declare const mkCdpValidatorFromSP: (params: CdpParamsSP) => SpendingValidator;
917
+ declare const mkCdpRedeemValidatorFromSP: (params: CdpRedeemParamsSP) => WithdrawalValidator;
918
+
919
+ declare const CDPCreatorParamsSchema: _lucid_evolution_lucid.TObject<{
920
+ cdpCreatorNft: _lucid_evolution_lucid.TObject<{
921
+ currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
922
+ tokenName: _lucid_evolution_lucid.TUnsafe<string>;
1565
923
  }>;
1566
- }>]>;
1567
- type PollDatum = typeof PollDatumSchema.Type;
1568
- declare const VoteOptionSchema: TSchema.Union<[TSchema.Literal<["Yes"]>, TSchema.Literal<["No"]>]>;
1569
- type VoteOption = typeof VoteOptionSchema.Type;
1570
- declare const PollShardRedeemerSchema: TSchema.Union<[TSchema.Struct<{
1571
- Vote: TSchema.Union<[TSchema.Literal<["Yes"]>, TSchema.Literal<["No"]>]>;
1572
- }>, TSchema.Struct<{
1573
- MergeShards: TSchema.Struct<{
1574
- currentTime: TSchema.Integer;
1575
- pollManagerRef: TSchema.Struct<{
1576
- txHash: TSchema.ByteArray;
1577
- outputIndex: TSchema.Integer;
1578
- }>;
924
+ cdpAssetCs: _lucid_evolution_lucid.TUnsafe<string>;
925
+ cdpAuthTk: _lucid_evolution_lucid.TObject<{
926
+ currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
927
+ tokenName: _lucid_evolution_lucid.TUnsafe<string>;
1579
928
  }>;
1580
- }>]>;
1581
- type PollShardRedeemer = typeof PollShardRedeemerSchema.Type;
1582
- declare const PollManagerRedeemerSchema: TSchema.Union<[TSchema.Struct<{
1583
- EndPoll: TSchema.Struct<{
1584
- currentTime: TSchema.Integer;
929
+ iAssetAuthTk: _lucid_evolution_lucid.TObject<{
930
+ currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
931
+ tokenName: _lucid_evolution_lucid.TUnsafe<string>;
1585
932
  }>;
1586
- }>, TSchema.Struct<{
1587
- CreateShards: TSchema.Struct<{
1588
- currentTime: TSchema.Integer;
933
+ collateralAssetAuthTk: _lucid_evolution_lucid.TObject<{
934
+ currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
935
+ tokenName: _lucid_evolution_lucid.TUnsafe<string>;
1589
936
  }>;
1590
- }>, TSchema.Struct<{
1591
- MergeShardsManager: TSchema.Struct<{
1592
- currentTime: TSchema.Integer;
937
+ upgradeToken: _lucid_evolution_lucid.TObject<{
938
+ currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
939
+ tokenName: _lucid_evolution_lucid.TUnsafe<string>;
1593
940
  }>;
1594
- }>]>;
1595
- type PollManagerRedeemer = typeof PollManagerRedeemerSchema.Type;
1596
- declare function serialisePollManagerRedeemer(r: PollManagerRedeemer): string;
1597
- declare function serialisePollShardRedeemer(r: PollShardRedeemer): string;
1598
- declare function parsePollManager(datum: string): option.Option<PollManagerContent>;
1599
- declare function parsePollManagerOrThrow(datum: string): PollManagerContent;
1600
- declare function parsePollShard(datum: string): option.Option<PollShardContent>;
1601
- declare function parsePollShardOrThrow(datum: string): PollShardContent;
1602
- declare function serialisePollDatum(d: PollDatum): string;
941
+ versionRecordToken: _lucid_evolution_lucid.TObject<{
942
+ currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
943
+ tokenName: _lucid_evolution_lucid.TUnsafe<string>;
944
+ }>;
945
+ cdpScriptHash: _lucid_evolution_lucid.TUnsafe<string>;
946
+ treasuryValHash: _lucid_evolution_lucid.TUnsafe<string>;
947
+ iassetValHash: _lucid_evolution_lucid.TUnsafe<string>;
948
+ biasTime: _lucid_evolution_lucid.TUnsafe<bigint>;
949
+ }>;
950
+ type CDPCreatorParams = Data.Static<typeof CDPCreatorParamsSchema>;
951
+ declare const CDPCreatorParams: CDPCreatorParams;
952
+ declare function castCDPCreatorParams(params: CDPCreatorParams): Data;
953
+
954
+ declare const mkCDPCreatorValidator: (params: CDPCreatorParams) => SpendingValidator;
955
+ declare const mkCDPCreatorValidatorFromSP: (params: CDPCreatorParamsSP) => SpendingValidator;
956
+
957
+ declare const PollManagerParamsSchema: _lucid_evolution_lucid.TObject<{
958
+ govNFT: _lucid_evolution_lucid.TObject<{
959
+ currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
960
+ tokenName: _lucid_evolution_lucid.TUnsafe<string>;
961
+ }>;
962
+ pollToken: _lucid_evolution_lucid.TObject<{
963
+ currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
964
+ tokenName: _lucid_evolution_lucid.TUnsafe<string>;
965
+ }>;
966
+ upgradeToken: _lucid_evolution_lucid.TObject<{
967
+ currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
968
+ tokenName: _lucid_evolution_lucid.TUnsafe<string>;
969
+ }>;
970
+ indyAsset: _lucid_evolution_lucid.TObject<{
971
+ currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
972
+ tokenName: _lucid_evolution_lucid.TUnsafe<string>;
973
+ }>;
974
+ govExecuteValHash: _lucid_evolution_lucid.TUnsafe<string>;
975
+ pBiasTime: _lucid_evolution_lucid.TUnsafe<bigint>;
976
+ shardValHash: _lucid_evolution_lucid.TUnsafe<string>;
977
+ treasuryValHash: _lucid_evolution_lucid.TUnsafe<string>;
978
+ }>;
979
+ type PollManagerParams = Data.Static<typeof PollManagerParamsSchema>;
980
+ declare const PollManagerParams: PollManagerParams;
981
+ declare function castPollManagerParams(params: PollManagerParams): Data;
982
+
983
+ declare const PollShardParamsSchema: _lucid_evolution_lucid.TObject<{
984
+ pollToken: _lucid_evolution_lucid.TObject<{
985
+ currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
986
+ tokenName: _lucid_evolution_lucid.TUnsafe<string>;
987
+ }>;
988
+ stakingToken: _lucid_evolution_lucid.TObject<{
989
+ currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
990
+ tokenName: _lucid_evolution_lucid.TUnsafe<string>;
991
+ }>;
992
+ indyAsset: _lucid_evolution_lucid.TObject<{
993
+ currencySymbol: _lucid_evolution_lucid.TUnsafe<string>;
994
+ tokenName: _lucid_evolution_lucid.TUnsafe<string>;
995
+ }>;
996
+ stakingValHash: _lucid_evolution_lucid.TUnsafe<string>;
997
+ }>;
998
+ type PollShardParams = Data.Static<typeof PollShardParamsSchema>;
999
+ declare const PollShardParams: PollShardParams;
1000
+ declare function castPollShardParams(params: PollShardParams): Data;
1603
1001
 
1604
- declare function pollPassQuorum(pollStatus: PollStatus, electorate: bigint, minQuorum: bigint): boolean;
1002
+ declare const mkPollManagerValidator: (params: PollManagerParams) => SpendingValidator;
1003
+ declare const mkPollManagerValidatorFromSP: (params: PollManagerParamsSP) => SpendingValidator;
1004
+ declare const mkPollShardValidator: (params: PollShardParams) => SpendingValidator;
1005
+ declare const mkPollShardValidatorFromSP: (params: PollShardParamsSP) => SpendingValidator;
1605
1006
 
1606
1007
  /**
1607
1008
  * Returns the collector ref script UTXO that was added to ref inputs.
@@ -2314,6 +1715,9 @@ declare function serialiseGovDatum(d: GovDatum): string;
2314
1715
  declare function parseGovDatum(datum: string): option.Option<GovDatum>;
2315
1716
  declare function parseGovDatumOrThrow(datum: string): GovDatum;
2316
1717
 
1718
+ declare const VoteOptionSchema: TSchema.Union<[TSchema.Literal<["Yes"]>, TSchema.Literal<["No"]>]>;
1719
+ type VoteOption = typeof VoteOptionSchema.Type;
1720
+
2317
1721
  /**
2318
1722
  * Returns the new PollId.
2319
1723
  */
@@ -2662,7 +2066,11 @@ declare function castVersionRecordTokenParams(params: VersionRecordTokenParams):
2662
2066
  declare function mkVersionRecordTokenPolicy(params: VersionRecordTokenParams): MintingPolicy;
2663
2067
  declare const mkVersionRegistryValidator: () => SpendingValidator;
2664
2068
 
2665
- declare function treasuryFeeTx(assetToPay: AssetClass, amountToPay: bigint, extraLovelaces: bigint, lucid: LucidEvolution, sysParams: SystemParams, tx: TxBuilder, actionOref: OutRef, treasuryOref: OutRef): Promise<UTxO | null>;
2069
+ declare function treasuryFeeTx(assetToPay: AssetClass, amountToPay: bigint, extraLovelaces: bigint, lucid: LucidEvolution, sysParams: SystemParams, tx: TxBuilder, actionOref: OutRef,
2070
+ /**
2071
+ * `undefined` in case using direct treasury payment.
2072
+ */
2073
+ treasuryOref: OutRef | undefined): Promise<UTxO | null>;
2666
2074
  declare function treasuryCollect(assetToPay: AssetClass, amountToPay: bigint, extraLovelaces: bigint, lucid: LucidEvolution, sysParams: SystemParams, actionOref: OutRef, treasuryOref: OutRef): Promise<TxBuilder>;
2667
2075
  declare function treasuryMerge(treasuryOutRefs: OutRef[], lucid: LucidEvolution, sysParams: SystemParams): Promise<TxBuilder>;
2668
2076
  declare function treasurySplit(treasuryOutRef: OutRef, lucid: LucidEvolution, sysParams: SystemParams): Promise<TxBuilder>;
@@ -3641,9 +3049,65 @@ type RobOutput = {
3641
3049
  utxo: UTxO;
3642
3050
  };
3643
3051
 
3052
+ declare const OracleIdxSchema: TSchema.Union<[TSchema.Struct<{
3053
+ OracleRefInputIdx: TSchema.Integer;
3054
+ }>, TSchema.Struct<{
3055
+ OracleOutputIdx: TSchema.Integer;
3056
+ }>, TSchema.Literal<["OracleVoid"]>]>;
3057
+ type OracleIdx = typeof OracleIdxSchema.Type;
3058
+ declare const PriceOracleDatumSchema: TSchema.Struct<{
3059
+ price: TSchema.Struct<{
3060
+ numerator: TSchema.Integer;
3061
+ denominator: TSchema.Integer;
3062
+ }>;
3063
+ expirationTime: TSchema.Integer;
3064
+ auxiliaryData: Schema$1.SchemaClass<Data$1.Data, Data$1.Data, never>;
3065
+ }>;
3066
+ type PriceOracleDatum = typeof PriceOracleDatumSchema.Type;
3067
+ declare const PriceOracleRedeemerSchema: TSchema.Struct<{
3068
+ currentTime: TSchema.Integer;
3069
+ newPrice: TSchema.Struct<{
3070
+ numerator: TSchema.Integer;
3071
+ denominator: TSchema.Integer;
3072
+ }>;
3073
+ }>;
3074
+ type PriceOracleRedeemer = typeof PriceOracleRedeemerSchema.Type;
3075
+ declare function serialisePriceOracleRedeemer(r: PriceOracleRedeemer): string;
3076
+ declare function serialisePriceOracleDatum(d: PriceOracleDatum): string;
3077
+ declare function parsePriceOracleDatum(datum: string): PriceOracleDatum;
3078
+
3644
3079
  declare const MIN_ROB_COLLATERAL_AMT = 3000000n;
3645
- declare function robAmountToSpend(utxo: UTxO, datum: RobDatum, sysParams: SystemParams): bigint;
3646
- declare function isFullyRedeemed(utxo: UTxO, datum: RobDatum, sysParams: SystemParams): boolean;
3080
+ /**
3081
+ * The amount of collateral asset available in the ROB when buy order. In case of ADA, take
3082
+ * into account the min UTXO collateral.
3083
+ */
3084
+ declare function robCollateralAmtToSpend(utxo: UTxO, datum: RobDatum): bigint;
3085
+ /**
3086
+ * The amount if iassets available in ROB when sell order.
3087
+ */
3088
+ declare function robIAssetAmtToSpend(utxo: UTxO, datum: RobDatum, iassetCurrencySymbol: CurrencySymbolSP): bigint;
3089
+ /**
3090
+ * Amount to spend from the ROB universal for Buy and sell orders.
3091
+ */
3092
+ declare function robAmtToSpend(utxo: UTxO, datum: RobDatum, iassetCurrencySymbol: CurrencySymbolSP): bigint;
3093
+ declare function robBuyOrderSummary(utxo: UTxO, datum: RobDatum, oraclePrice: Rational): {
3094
+ /**
3095
+ * The amount that can be spent from the ROB.
3096
+ */
3097
+ redeemableCollateral: bigint;
3098
+ /**
3099
+ * The amount paid to the ROB when everything redeemed.
3100
+ */
3101
+ payoutIAsset: bigint;
3102
+ };
3103
+ /**
3104
+ * In case it's applied to a sell order instead, it will throw an error.
3105
+ */
3106
+ declare function isBuyOrderFullyRedeemed(utxo: UTxO, datum: RobDatum, oraclePrice: Rational): boolean;
3107
+ /**
3108
+ * Use the limit prices to decide fully redeemed.
3109
+ */
3110
+ declare function isFullyRedeemed(utxo: UTxO, datum: RobDatum, iassetCurrencySymbol: CurrencySymbolSP): boolean;
3647
3111
  /**
3648
3112
  * Right now we allow multi redemptions when the collateral asset, iasset pair is the same.
3649
3113
  * The on-chain however should allow even other combinations.
@@ -3657,7 +3121,25 @@ redemptions: [UTxO, bigint][], iasset: Uint8Array<ArrayBufferLike>, collateralAs
3657
3121
  /**
3658
3122
  * The number of Tx outputs before these new ones.
3659
3123
  */
3660
- txOutputsBeforeCount: bigint, collateralAssetRefInputIdx: bigint, iassetRefInputIdx: bigint, oracleIdx: bigint | null): TxBuilder;
3124
+ txOutputsBeforeCount: bigint, collateralAssetRefInputIdx: bigint, iassetRefInputIdx: bigint, oracleIdx: OracleIdx): TxBuilder;
3125
+ /**
3126
+ * Given all available LRP UTXOs, calculate total available collateral that can be redeemed.
3127
+ * Taking into account incorrectly initialised LRPs (without base collateral) and max number of ROBs.
3128
+ */
3129
+ declare function calculateTotalCollateralForRedemption(iasset: Uint8Array<ArrayBufferLike>, collateralAsset: AssetClass, iassetPrice: Rational, allRobs: [UTxO, RobDatum][],
3130
+ /**
3131
+ * How many LRPs can be redeemed in a single Tx.
3132
+ */
3133
+ maxRobsInTx: number): bigint;
3134
+ /**
3135
+ * Pick random subset from all the ROBs (it does the necessary filtering) satisfying the target collateral to spend.
3136
+ * It's relevant for BUY orders only.
3137
+ */
3138
+ declare function randomRobsSubsetSatisfyingTargetCollateral(iasset: Uint8Array<ArrayBufferLike>, collateralAsset: AssetClass, targetCollateralToSpend: bigint, iassetPrice: Rational, allLrps: [UTxO, RobDatum][],
3139
+ /**
3140
+ * How many LRPs can be redeemed in a single Tx.
3141
+ */
3142
+ maxLrpsInTx: number, randomiseFn?: (arr: [UTxO, RobDatum][]) => [UTxO, RobDatum][]): [UTxO, RobDatum][];
3661
3143
 
3662
3144
  declare const RobParamsSchema: _lucid_evolution_lucid.TObject<{
3663
3145
  versionRecordToken: _lucid_evolution_lucid.TObject<{
@@ -3724,35 +3206,118 @@ type OneShotParams = Data.Static<typeof OneShotParamsSchema>;
3724
3206
  declare function oneShotMintTx(lucid: LucidEvolution, params: OneShotParams): Promise<[TxBuilder, PolicyId]>;
3725
3207
  declare function runOneShotMintTx(lucid: LucidEvolution, params: OneShotParams): Promise<PolicyId>;
3726
3208
 
3727
- declare function startPriceOracleTx(lucid: LucidEvolution, assetName: string, startPrice: Rational, oracleParams: PriceOracleParams, currentSlot: number, refOutRef?: OutRef, auxiliaryData?: Core.Data.Data): Promise<[TxBuilder, AssetClass]>;
3728
- declare function feedPriceOracleTx(lucid: LucidEvolution, oracleOref: OutRef, newPrice: Rational, oracleParams: PriceOracleParams, currentSlot: number, auxiliaryData?: Core.Data.Data): Promise<TxBuilder>;
3209
+ declare function leverageCdpWithRob(leverage: number, baseCollateral: bigint, priceOracleOutRef: OutRef | undefined, iassetOutRef: OutRef, collateralAssetOutRef: OutRef, cdpCreatorOref: OutRef, interestOracleOref: OutRef, treasuryOref: OutRef, sysParams: SystemParams, lucid: LucidEvolution, allRobs: [UTxO, RobDatum][], currentSlot: number, pythMessage?: string | undefined, pythStateOref?: OutRef | undefined): Promise<TxBuilder>;
3729
3210
 
3730
- declare const OracleIdxSchema: TSchema.Union<[TSchema.Struct<{
3731
- OracleRefInputIdx: TSchema.Integer;
3732
- }>, TSchema.Struct<{
3733
- OracleOutputIdx: TSchema.Integer;
3734
- }>, TSchema.Literal<["OracleVoid"]>]>;
3735
- type OracleIdx = typeof OracleIdxSchema;
3736
- declare const PriceOracleDatumSchema: TSchema.Struct<{
3737
- price: TSchema.Struct<{
3738
- numerator: TSchema.Integer;
3739
- denominator: TSchema.Integer;
3740
- }>;
3741
- expirationTime: TSchema.Integer;
3742
- auxiliaryData: Schema$1.SchemaClass<Data$1.Data, Data$1.Data, never>;
3743
- }>;
3744
- type PriceOracleDatum = typeof PriceOracleDatumSchema.Type;
3745
- declare const PriceOracleRedeemerSchema: TSchema.Struct<{
3746
- currentTime: TSchema.Integer;
3747
- newPrice: TSchema.Struct<{
3748
- numerator: TSchema.Integer;
3749
- denominator: TSchema.Integer;
3750
- }>;
3211
+ declare const OnChainDecimalSchema: TSchema.Struct<{
3212
+ getOnChainInt: TSchema.Integer;
3751
3213
  }>;
3752
- type PriceOracleRedeemer = typeof PriceOracleRedeemerSchema.Type;
3753
- declare function serialisePriceOracleRedeemer(r: PriceOracleRedeemer): string;
3754
- declare function serialisePriceOracleDatum(d: PriceOracleDatum): string;
3755
- declare function parsePriceOracleDatum(datum: string): PriceOracleDatum;
3214
+ type OnChainDecimal = typeof OnChainDecimalSchema.Type;
3215
+
3216
+ /**
3217
+ * The following is the math related to the leverage calculations.
3218
+ *
3219
+ * Leverage is the multiplier you apply to the base deposit and you get the amount of final collateral
3220
+ * the CDP should have. Additionally, the minted amount is used to pay for fees. The leverage a user picks, is
3221
+ * already taking into account the fees, i.e. the fees are paid from the borrowed assets.
3222
+ *
3223
+ * There's a direct relationship between collateral ratio and leverage multiplier. Each leverage multiplier
3224
+ * results in a single collateral ratio and vice versa. Maximum potential leverage is the leverage that
3225
+ * results in collateral ratio being the maintenance collateral ratio of the corresponding iAsset.
3226
+ *
3227
+ * `d` = base deposit
3228
+ * `b` = total borrowed value (including the fees)
3229
+ * `L` = leverage
3230
+ * `f_m` = debt minting fee
3231
+ * `f_r` = reimbursement fee
3232
+ * `c` = collateral ratio
3233
+ *
3234
+ * The following is a detailed derivation of the math:
3235
+ *
3236
+ * 1. Since the redemption fee is proportional to the borrowed amount,
3237
+ * we can express the ADA we get from the order book as `b'=b*(1-f_r)`,
3238
+ * since some of the borrowed amount goes back to the order book.
3239
+ *
3240
+ * 2. Since all the minted iAsset are used to get borrowed ADA,
3241
+ * the value of the minted asset will be `b`.
3242
+ *
3243
+ * 3. The minting fee is a percentage of the value of the minted iAsset.
3244
+ * Therefore the available ADA to add as collateral is `b''=b' - b*f_m = b*(1 - f_r - f_m)`.
3245
+ *
3246
+ * 4. The collateral ratio can now be expressed as `c = (d + b * (1 - f_r - f_m)) / b`.
3247
+ *
3248
+ * 5. Working out the expression, we can express `b` in terms of everything else: `b = d / (c - 1 + f_r + f_m)`.
3249
+ *
3250
+ * 6. The minted amount will be `b / asset_price`.
3251
+ *
3252
+ * 7. Collateral amount of the CDP is `d + b * (1 - f_r - f_m)`
3253
+ *
3254
+ * 8. Leverage calculation: `L = (d + b * (1 - f_r - f_m)) / d`.
3255
+ *
3256
+ * Plugging in the `b` formula we get: `L = (d + (d / (c - 1 + f_r + f_m)) * (1 - f_r - f_m)) / d`.
3257
+ *
3258
+ * Simplified, yields the following:
3259
+ * `L = 1 + ((1 - f_r - f_m) / (c - 1 + f_r + f_m))`
3260
+ *
3261
+ * 9. `b'' = b * (1 - f_r - f_m)`
3262
+ * Solved for `b` yields the following:
3263
+ * `b = b'' / (1 - f_r - f_m)`
3264
+ *
3265
+ * 10. Having leverage and base deposit, we can find `b''`:
3266
+ * `b’’ = d(L - 1)`
3267
+ */
3268
+
3269
+ /**
3270
+ * How many LRP redemptions can we fit into a TX with CDP open.
3271
+ */
3272
+ declare const MAX_REDEMPTIONS_WITH_CDP_OPEN = 4;
3273
+ type ROBRedemptionDetails = {
3274
+ utxo: UTxO;
3275
+ redeemedCollateral: bigint;
3276
+ /**
3277
+ * The amount of iAssets paid to ROB.
3278
+ */
3279
+ iassetsPayoutAmt: bigint;
3280
+ reimbursementIAssetAmt: bigint;
3281
+ };
3282
+ type ApproximateLeverageRedemptionsResult = {
3283
+ leverage: number;
3284
+ collateralRatio: Rational;
3285
+ redeemedCollateral: bigint;
3286
+ };
3287
+ /**
3288
+ * We assume exact precision. However, actual redemptions include rounding and
3289
+ * the rounding behaviour changes based on the number of redemptions.
3290
+ * This may slightly tweak the numbers and the result can be different.
3291
+ *
3292
+ * The math is described at the top of this code file.
3293
+ */
3294
+ declare function approximateLeverageRedemptions(baseCollateral: bigint, targetLeverage: number, redemptionReimbursementRatio: Rational, debtMintingFeeRatio: Rational): ApproximateLeverageRedemptionsResult;
3295
+ declare function summarizeActualLeverageRedemptions(lovelacesForRedemptionWithReimbursement: bigint, redemptionReimbursementRatio: Rational, iassetPrice: Rational, redemptionLrps: [UTxO, RobDatum][]): {
3296
+ redemptions: ROBRedemptionDetails[];
3297
+ /**
3298
+ * The actual amount received from redemptions (i.e. without the reimbursement fee).
3299
+ */
3300
+ totalRedeemedCollateral: bigint;
3301
+ /**
3302
+ * Total amount of IAssets to cover the reimbursement fee.
3303
+ */
3304
+ totalReimbursedIAsset: bigint;
3305
+ /**
3306
+ * Total amount of IAssets paid to ROBs, including the reimbursement.
3307
+ */
3308
+ totalIAssetPayout: bigint;
3309
+ };
3310
+ /**
3311
+ * The math is described at the top of this code file.
3312
+ */
3313
+ declare function calculateCollateralRatioFromLeverage(iasset: Uint8Array<ArrayBufferLike>, collateralAsset: AssetClass, leverage: number, baseCollateral: bigint, iassetPrice: Rational, debtMintingFeePercentage: OnChainDecimal, redemptionReimbursementPercentage: OnChainDecimal, allLrps: [UTxO, RobDatum][]): OnChainDecimal | undefined;
3314
+ /**
3315
+ * The math is described at the top of this code file.
3316
+ */
3317
+ declare function calculateLeverageFromCollateralRatio(iasset: Uint8Array<ArrayBufferLike>, collateralAsset: AssetClass, collateralRatio: Rational, baseCollateral: bigint, iassetPrice: Rational, debtMintingFeeRatio: Rational, redemptionReimbursementRatio: Rational, allLrps: [UTxO, RobDatum][]): number | undefined;
3318
+
3319
+ declare function startPriceOracleTx(lucid: LucidEvolution, assetName: string, startPrice: Rational, oracleParams: PriceOracleParams, currentSlot: number, refOutRef?: OutRef, auxiliaryData?: Core.Data.Data): Promise<[TxBuilder, AssetClass]>;
3320
+ declare function feedPriceOracleTx(lucid: LucidEvolution, oracleOref: OutRef, newPrice: Rational, oracleParams: PriceOracleParams, currentSlot: number, auxiliaryData?: Core.Data.Data): Promise<TxBuilder>;
3756
3321
 
3757
3322
  declare function mkPriceOracleValidator(params: PriceOracleParams): SpendingValidator;
3758
3323
 
@@ -3763,7 +3328,6 @@ declare function mkPriceOracleValidator(params: PriceOracleParams): SpendingVali
3763
3328
  declare function matchSingle<T>(xs: T[], mkErr: (xs: T[]) => Error): T;
3764
3329
  declare function loadSystemParamsFromFile(file: string): SystemParams;
3765
3330
  declare function loadSystemParamsFromUrl(url: string): Promise<SystemParams>;
3766
- declare const getRandomElement: <T>(arr: T[]) => T | undefined;
3767
3331
 
3768
3332
  declare function shuffle<T>(arr: T[]): T[];
3769
3333
  /**
@@ -4235,6 +3799,7 @@ type IAssetScriptParams = Data.Static<typeof IAssetScriptParamsSchema>;
4235
3799
  declare const IAssetScriptParams: IAssetScriptParams;
4236
3800
  declare const mkIAssetValidatorFromSP: (params: IAssetParamsSP) => SpendingValidator;
4237
3801
 
3802
+ declare const MAX_COLLATERAL_ASSETS_COUNT_PER_IASSET = 8;
4238
3803
  type Interval = {
4239
3804
  validFrom: number;
4240
3805
  validTo: number;
@@ -4335,4 +3900,4 @@ declare function mkAuthTokenPolicy(ac: AssetClass, tn: string): MintingPolicy;
4335
3900
 
4336
3901
  declare const alwaysFailValidator: SpendingValidator;
4337
3902
 
4338
- export { type AccountAction, type AccountContent, AccountContentSchema, type ActionReturnDatum, type AddCollateralAsssetContent, type AddressCredential, type AddressCredentialOrDatum, type AddressSP, AikenIntervalIntervalBound, AikenIntervalIntervalBoundType, type Amount, type AssetClassD, type AssetClassSP, AssetClassSchema, type AssetInfo, type AssetSnapshot, type AssetState, type AuthTokenPolicies, BASE_MAX_EXECUTION_FEE, BASE_MAX_TX_FEE, BigIntOrd, type CDPContent, CDPCreatorParams, type CDPCreatorParamsSP, type CDPDatum, CardanoTransactionValidityRange, type CdpParams, type CdpParamsSP, type CdpRedeemParams, type CdpRedeemParamsSP, type CdpRedeemer, type CollateralAssetContent, type CollateralAssetInfo, type CollateralAssetOutput, type CollectorParamsSP, type CollectorRedeemer, CollectorRedeemerSchema, CredentialD, CredentialSchema, type CurrencySymbolSP, DEFAULT_INIT_OPTIONS, type DerivedPythPrice, type DerivedPythPriceSP, DerivedPythPriceSchema, type E2S2SIndex, type E2S2SIndicesPerAsset, type EpochToScaleKey, type EpochToScaleToSumEntry, type ExecuteDatum, ExecuteParams, type ExecuteParamsSP, type Feed, type FindE2S2SIdxResult, type GovDatum, GovParams, type GovParamsSP, type GovRedeemer, type IAssetContent, type IAssetDatum, type IAssetOutput, type IAssetParamsSP, type IAssetPriceInfo, IAssetPriceInfoSchema, type IAssetRedeemer, IAssetScriptParams, INIT_TOKEN_NAMES, type IndigoOracleNftParam, type InitialAssetParam, type InitialCollateralAssetParam, type InitialStablepoolParam, type InitializeOptions, type Input, type InterestCollectionDatum, type InterestCollectionParams, type InterestCollectionParamsSP, InterestCollectionParamsSchema, type InterestCollectionRedeemer, type InterestOracleDatum, InterestOracleDatumSchema, type InterestOracleParams, InterestOracleParamsSchema, type InterestOracleRedeemer, MAX_E2S2S_ENTRIES_COUNT, MIN_ROB_COLLATERAL_AMT, type MarketSession, type ModifyStableswapPoolContent, ONE_DAY, ONE_HOUR, ONE_SECOND, ONE_YEAR, type OracleIdx, OracleIdxSchema, type Output, PRICE_UPDATE_MAGIC, type ParsedOutput, type PollDatum, type PollManagerContent, PollManagerParams, type PollManagerParamsSP, type PollManagerRedeemer, type PollShardContent, PollShardParams, type PollShardParamsSP, type PollShardRedeemer, type PollStatus, type PriceOracleDatum, type PriceOracleParam, type PriceOracleParams, PriceOracleParamsSchema, type PriceOracleRedeemer, type PriceUpdate, type ProcessRequestAccountContent, type ProposalContent, ProposalContentSchema, type ProposeAssetContent, type ProposeStableswapPoolContent, type ProtocolParams, ProtocolParamsSchema, type PubKeyHash, type PythConfig, type PythConfiguration, type PythFeedConfig, type PythFeedParams, type PythFeedParamsSP, type PythFeedRedeemer, type PythMessageParts, type PythOracleParam, type PythPriceConfigurationSP, type PythStateDatum, type PythUpdatesRedeemer, type Rational, RationalSchema, type RedeemCdpWithdrawalRedeemer, type RobDatum, type RobOrderType, type RobOutput, type RobParams, type RobParamsSP, RobParamsSchema, type RobRedeemer, SOLANA_FORMAT_MAGIC, type SPInteger, SPIntegerSchema, type ScriptCredential, type ScriptOutput, type ScriptRef, type ScriptReference, type ScriptReferences, type SnapshotEpochToScaleToSumContent, SnapshotEpochToScaleToSumContentSchema, type StabilityPoolContent, StabilityPoolContentSchema, StabilityPoolDatumSchema, StabilityPoolParams, type StabilityPoolParamsSP, type StabilityPoolRedeemer, StabilityPoolRedeemerSchema, type StableswapOrderDatum, StableswapOrderDatumSchema, type StableswapOrderRedeemer, type StableswapOutputDatum, type StableswapParamsSP, type StableswapPoolContent, StakeCredential, StakeCredentialSchema, type StakingManager, type StakingManagerOutput, type StakingParamsSP, type StakingPosLockedAmt, type StakingPosition, type StakingPositionOutput, type StakingRedeemer, type StartTime, type StateSnapshot, type SumSnapshot, type SystemParams, type TokenNameSP, type TreasuryParamsSP, type TreasuryWithdrawal, type TreasuryWithdrawalItem, TreasuryWithdrawalSchema, type UpgradePaths, type ValidatorHashes, VerificationKeyHashSchema, type VersionRecordParams, VersionRecordTokenParams, type VoteOption, addrDetails, adjustCdp, adjustPriceToDecimals, adjustRob, adjustStakingPosition, alwaysFailValidator, annulRequest, attachOracle, balance, batchCollectInterest, batchProcessStableswapOrders, bigintMax, bigintMin, buildRedemptionsTx, burnCdp, calculateAccruedInterest, calculateAdaReward, calculateIAssetRedemptionAmt, calculateMinCollateralCappedIAssetRedemptionAmt, calculateUnitaryInterest, calculateUnitaryInterestSinceOracleLastUpdated, cancelRob, cancelStableswapOrder, castCDPCreatorParams, castCdpParams, castCdpRedeemParams, castExecuteParams, castGovParams, castInterestCollectionParams, castInterestOracleParams, castPollManagerParams, castPollShardParams, castPriceOracleParams, castRobParams, castStabilityPoolParams, castStakingParams, castVersionRecordTokenParams, cdpCollateralRatioPercentage, claimRob, closeCdp, closeStakingPosition, collectInterestTx, collectorFeeTx, createDestinationDatum, createE2s2sSnapshots, createProcessRequestAccountRedeemer, createProposal, createScriptAddress, createShardsChunks, createStableswapOrder, decodePriceUpdate, decodePythMessage, depositCdp, deriveAuthToken, distributeAda, distributeInterest, distributeReward, divideOnChainCompatible, encodePriceUpdate, encodePythMessage, encodeSignedPythMessage, endProposal, estimateUtxoMinLovelace, executeProposal, feedInterestOracle, feedPriceOracleTx, findRelevantE2s2sIdxs, findStakingManager, findStakingManagerByOutRef, findStakingPositionByOutRef, freezeCdp, fromDataDerivedPythPrice, fromDecimal, fromSPInteger, fromSysParamsCredential, fromSysParamsDerivedPythPrice, fromSysParamsPythFeedParams, fromSysParamsStakeCredential, fromSystemParamsAsset, fromSystemParamsAssetLucid, fromSystemParamsScriptRef, getAssetClassComparisonStr, getInlineDatumOrThrow, getPythFeedConfig, getRandomElement, getUpdatedAccountDeposit, handleOracleForCollateralAsset, init, initCDPCreator, initCollector, initGovernance, initInterestCollector, initPythConfig, initScriptRef, initSpState, initStakingManager, initSumVal, initTreasury, initializeAsset, insertSorted, isFullyRedeemed, isSameEpochToScaleKey, liquidateCdp, liquidationHelper, loadSystemParamsFromFile, loadSystemParamsFromUrl, matchSingle, mergeCdps, mergeShards, mintAuthTokenDirect, mintCdp, mintOneTimeAsset, mintOneTimeToken, mkAuthTokenPolicy, mkCDPCreatorValidator, mkCDPCreatorValidatorFromSP, mkCdpRedeemValidatorFromSP, mkCdpValidatorFromSP, mkCollectorValidatorFromSP, mkExecuteValidator, mkExecuteValidatorFromSP, mkGovValidator, mkGovValidatorFromSP, mkIAssetTokenPolicy, mkIAssetValidatorFromSP, mkInterestCollectionValidator, mkInterestCollectionValidatorFromSP, mkInterestOracleValidator, mkPollManagerValidator, mkPollManagerValidatorFromSP, mkPollShardValidator, mkPollShardValidatorFromSP, mkPriceOracleValidator, mkPythFeedValidator, mkRobValidator, mkRobValidatorFromSP, mkSPInteger, mkStabilityPoolAddr, mkStabilityPoolValidator, mkStabilityPoolValidatorFromSP, mkStableswapValidator, mkStableswapValidatorFromSP, mkStakingValidatorFromSP, mkTreasuryAddr, mkTreasuryValidatorFromSP, mkVersionRecordTokenPolicy, mkVersionRegistryValidator, oneShotMintTx, openCdp, openRob, openStakingPosition, parseAccountDatum, parseAccountDatumOrThrow, parseCdpDatum, parseCdpDatumOrThrow, parseCollateralAssetDatum, parseCollateralAssetDatumOrThrow, parseExecuteDatum, parseExecuteDatumOrThrow, parseGovDatum, parseGovDatumOrThrow, parseIAssetDatum, parseIAssetDatumOrThrow, parseInterestCollectionDatum, parseInterestOracleDatum, parsePollManager, parsePollManagerOrThrow, parsePollShard, parsePollShardOrThrow, parsePriceOracleDatum, parsePythStateDatum, parseRobDatum, parseRobDatumOrThrow, parseRobRedeemer, parseRobRedeemerOrThrow, parseSnapshotEpochToScaleToSumDatum, parseSnapshotEpochToScaleToSumDatumOrThrow, parseStabilityPoolDatum, parseStabilityPoolDatumOrThrow, parseStableswapOrderDatum, parseStableswapOrderDatumOrThrow, parseStableswapOrderRedeemer, parseStableswapOrderRedeemerOrThrow, parseStableswapPoolDatum, parseStableswapPoolDatumOrThrow, parseStakingManagerDatum, parseStakingPosition, parseStakingPositionOrThrow, partitionEpochToScaleToSums, pollPassQuorum, processSpRequest, rationalAdd, rationalCeil, rationalDiv, rationalFloor, rationalFromInt, rationalMul, rationalNegate, rationalSub, rationalToFloat, rationalZero, redeemCdp, redeemRob, repsertReadonlyArr, repsertWithReadonlyArr, requestSpAccountAdjustment, requestSpAccountClosure, requestSpAccountCreation, rewardSnapshotPrecision, robAmountToSpend, runCreateScriptRefTx, runOneShotMintTx, scriptRef, serialiseActionReturnDatum, serialiseCdpDatum, serialiseCdpRedeemer, serialiseCollectorRedeemer, serialiseExecuteDatum, serialiseFeedInterestOracleRedeemer, serialiseGovDatum, serialiseGovRedeemer, serialiseIAssetDatum, serialiseIAssetRedeemer, serialiseInterestCollectionDatum, serialiseInterestCollectionRedeemer, serialiseInterestOracleDatum, serialisePollDatum, serialisePollManagerRedeemer, serialisePollShardRedeemer, serialisePriceOracleDatum, serialisePriceOracleRedeemer, serialisePythFeedParams, serialisePythFeedRedeemer, serialisePythStateDatum, serialisePythUpdatesRedeemer, serialiseRedeemCdpWithdrawalRedeemer, serialiseRobDatum, serialiseRobRedeemer, serialiseStabilityPoolDatum, serialiseStabilityPoolRedeemer, serialiseStableswapOrderDatum, serialiseStableswapOrderRedeemer, serialiseStableswapOutputDatum, serialiseStableswapPoolDatum, serialiseStakingDatum, serialiseStakingRedeemer, shuffle, signersAllOf, spAdd, spDiv, spMul, spSub, spZeroNegatives, startInterestOracle, startPriceOracleTx, submitTx, sum, toAssetClassFromLucid, toDataDerivedPythPrice, toSystemParamsAsset, treasuryCollect, treasuryFeeTx, treasuryMerge, treasuryPrepareWithdrawal, treasurySplit, updateAccount, updatePermissions, updatePoolStateWhenWithdrawalFee, updateStableswapPoolFees, updateStakingLockedAmount, vote, withdrawCdp, zeroNegatives };
3903
+ export { type AccountAction, type AccountContent, AccountContentSchema, type ActionReturnDatum, type AddCollateralAsssetContent, type AddressCredential, type AddressCredentialOrDatum, type AddressSP, AikenIntervalIntervalBound, AikenIntervalIntervalBoundType, type Amount, type AssetClassD, type AssetClassSP, AssetClassSchema, type AssetInfo, type AssetSnapshot, type AssetState, type AuthTokenPolicies, BASE_MAX_EXECUTION_FEE, BASE_MAX_TX_FEE, BigIntOrd, type CDPContent, CDPCreatorParams, type CDPCreatorParamsSP, type CDPDatum, CardanoTransactionValidityRange, type CdpParams, type CdpParamsSP, type CdpRedeemParams, type CdpRedeemParamsSP, type CdpRedeemer, type CollateralAssetContent, type CollateralAssetInfo, type CollateralAssetOutput, type CollectorParamsSP, type CollectorRedeemer, CollectorRedeemerSchema, CredentialD, CredentialSchema, type CurrencySymbolSP, DEFAULT_INIT_OPTIONS, type DerivedPythPrice, type DerivedPythPriceSP, DerivedPythPriceSchema, type E2S2SIndex, type E2S2SIndicesPerAsset, type EpochToScaleKey, type EpochToScaleToSumEntry, type ExecuteDatum, ExecuteParams, type ExecuteParamsSP, type Feed, type FindE2S2SIdxResult, type GovDatum, GovParams, type GovParamsSP, type GovRedeemer, type IAssetContent, type IAssetDatum, type IAssetOutput, type IAssetParamsSP, type IAssetPriceInfo, IAssetPriceInfoSchema, type IAssetRedeemer, IAssetScriptParams, INIT_TOKEN_NAMES, type IndigoOracleNftParam, type InitialAssetParam, type InitialCollateralAssetParam, type InitialStablepoolParam, type InitializeOptions, type Input, type InterestCollectionDatum, type InterestCollectionParams, type InterestCollectionParamsSP, InterestCollectionParamsSchema, type InterestCollectionRedeemer, type InterestOracleDatum, InterestOracleDatumSchema, type InterestOracleParams, InterestOracleParamsSchema, type InterestOracleRedeemer, MAX_COLLATERAL_ASSETS_COUNT_PER_IASSET, MAX_E2S2S_ENTRIES_COUNT, MAX_REDEMPTIONS_WITH_CDP_OPEN, MIN_ROB_COLLATERAL_AMT, type MarketSession, type ModifyStableswapPoolContent, ONE_DAY, ONE_HOUR, ONE_SECOND, ONE_YEAR, type OracleIdx, OracleIdxSchema, type Output, PRICE_UPDATE_MAGIC, type ParsedOutput, PollManagerParams, type PollManagerParamsSP, PollShardParams, type PollShardParamsSP, type PriceOracleDatum, type PriceOracleParam, type PriceOracleParams, PriceOracleParamsSchema, type PriceOracleRedeemer, type PriceUpdate, type ProcessRequestAccountContent, type ProposalContent, ProposalContentSchema, type ProposeAssetContent, type ProposeStableswapPoolContent, type ProtocolParams, ProtocolParamsSchema, type PubKeyHash, type PythConfig, type PythConfiguration, type PythFeedConfig, type PythFeedParams, type PythFeedParamsSP, type PythFeedRedeemer, type PythMessageParts, type PythOracleParam, type PythPriceConfigurationSP, type PythStateDatum, type PythUpdatesRedeemer, type Rational, RationalSchema, type RedeemCdpWithdrawalRedeemer, type RobDatum, type RobOrderType, type RobOutput, type RobParams, type RobParamsSP, RobParamsSchema, type RobRedeemer, SOLANA_FORMAT_MAGIC, type SPInteger, SPIntegerSchema, type ScriptCredential, type ScriptOutput, type ScriptRef, type ScriptReference, type ScriptReferences, type SnapshotEpochToScaleToSumContent, SnapshotEpochToScaleToSumContentSchema, type StabilityPoolContent, StabilityPoolContentSchema, StabilityPoolDatumSchema, StabilityPoolParams, type StabilityPoolParamsSP, type StabilityPoolRedeemer, StabilityPoolRedeemerSchema, type StableswapOrderDatum, StableswapOrderDatumSchema, type StableswapOrderRedeemer, type StableswapOutputDatum, type StableswapParamsSP, type StableswapPoolContent, StakeCredential, StakeCredentialSchema, type StakingManager, type StakingManagerOutput, type StakingParamsSP, type StakingPosLockedAmt, type StakingPosition, type StakingPositionOutput, type StakingRedeemer, type StartTime, type StateSnapshot, type SumSnapshot, type SystemParams, type TokenNameSP, type TreasuryParamsSP, type TreasuryWithdrawal, type TreasuryWithdrawalItem, TreasuryWithdrawalSchema, type UpgradePaths, type ValidatorHashes, VerificationKeyHashSchema, type VersionRecordParams, VersionRecordTokenParams, addrDetails, adjustCdp, adjustPriceToDecimals, adjustRob, adjustStakingPosition, alwaysFailValidator, annulRequest, approximateLeverageRedemptions, attachOracle, balance, batchCollectInterest, batchProcessStableswapOrders, bigintMax, bigintMin, buildRedemptionsTx, burnCdp, calculateAccruedInterest, calculateAdaReward, calculateCollateralRatioFromLeverage, calculateIAssetRedemptionAmt, calculateLeverageFromCollateralRatio, calculateMinCollateralCappedIAssetRedemptionAmt, calculateTotalCollateralForRedemption, calculateUnitaryInterest, calculateUnitaryInterestSinceOracleLastUpdated, cancelRob, cancelStableswapOrder, castCDPCreatorParams, castCdpParams, castCdpRedeemParams, castExecuteParams, castGovParams, castInterestCollectionParams, castInterestOracleParams, castPollManagerParams, castPollShardParams, castPriceOracleParams, castRobParams, castStabilityPoolParams, castStakingParams, castVersionRecordTokenParams, cdpCollateralRatioPercentage, claimRob, closeCdp, closeStakingPosition, collectInterestTx, collectorFeeTx, createDestinationDatum, createE2s2sSnapshots, createProcessRequestAccountRedeemer, createProposal, createScriptAddress, createShardsChunks, createStableswapOrder, decodePriceUpdate, decodePythMessage, depositCdp, deriveAuthToken, distributeAda, distributeInterest, distributeReward, divideOnChainCompatible, encodePriceUpdate, encodePythMessage, encodeSignedPythMessage, endProposal, estimateUtxoMinLovelace, executeProposal, feedInterestOracle, feedPriceOracleTx, findRelevantE2s2sIdxs, findStakingManager, findStakingManagerByOutRef, findStakingPositionByOutRef, freezeCdp, fromDataDerivedPythPrice, fromDecimal, fromSPInteger, fromSysParamsCredential, fromSysParamsDerivedPythPrice, fromSysParamsPythFeedParams, fromSysParamsStakeCredential, fromSystemParamsAsset, fromSystemParamsAssetLucid, fromSystemParamsScriptRef, getAssetClassComparisonStr, getInlineDatumOrThrow, getPythFeedConfig, getUpdatedAccountDeposit, handleOracleForCollateralAsset, iassetValueOfCollateral, init, initCDPCreator, initCollector, initGovernance, initInterestCollector, initPythConfig, initScriptRef, initSpState, initStakingManager, initSumVal, initTreasury, initializeAsset, insertSorted, isBuyOrderFullyRedeemed, isFullyRedeemed, isSameEpochToScaleKey, leverageCdpWithRob, liquidateCdp, liquidationHelper, loadSystemParamsFromFile, loadSystemParamsFromUrl, matchSingle, mergeCdps, mergeShards, mintAuthTokenDirect, mintCdp, mintOneTimeAsset, mintOneTimeToken, mkAuthTokenPolicy, mkCDPCreatorValidator, mkCDPCreatorValidatorFromSP, mkCdpRedeemValidatorFromSP, mkCdpValidatorFromSP, mkCollectorValidatorFromSP, mkExecuteValidator, mkExecuteValidatorFromSP, mkGovValidator, mkGovValidatorFromSP, mkIAssetTokenPolicy, mkIAssetValidatorFromSP, mkInterestCollectionValidator, mkInterestCollectionValidatorFromSP, mkInterestOracleValidator, mkPollManagerValidator, mkPollManagerValidatorFromSP, mkPollShardValidator, mkPollShardValidatorFromSP, mkPriceOracleValidator, mkPythFeedValidator, mkRobValidator, mkRobValidatorFromSP, mkSPInteger, mkStabilityPoolAddr, mkStabilityPoolValidator, mkStabilityPoolValidatorFromSP, mkStableswapValidator, mkStableswapValidatorFromSP, mkStakingValidatorFromSP, mkTreasuryAddr, mkTreasuryValidatorFromSP, mkVersionRecordTokenPolicy, mkVersionRegistryValidator, oneShotMintTx, openCdp, openRob, openStakingPosition, parseAccountDatum, parseAccountDatumOrThrow, parseCdpDatum, parseCdpDatumOrThrow, parseCollateralAssetDatum, parseCollateralAssetDatumOrThrow, parseExecuteDatum, parseExecuteDatumOrThrow, parseGovDatum, parseGovDatumOrThrow, parseIAssetDatum, parseIAssetDatumOrThrow, parseInterestCollectionDatum, parseInterestOracleDatum, parsePriceOracleDatum, parsePythStateDatum, parseRobDatum, parseRobDatumOrThrow, parseRobRedeemer, parseRobRedeemerOrThrow, parseSnapshotEpochToScaleToSumDatum, parseSnapshotEpochToScaleToSumDatumOrThrow, parseStabilityPoolDatum, parseStabilityPoolDatumOrThrow, parseStableswapOrderDatum, parseStableswapOrderDatumOrThrow, parseStableswapOrderRedeemer, parseStableswapOrderRedeemerOrThrow, parseStableswapPoolDatum, parseStableswapPoolDatumOrThrow, parseStakingManagerDatum, parseStakingPosition, parseStakingPositionOrThrow, partitionEpochToScaleToSums, processSpRequest, randomRobsSubsetSatisfyingTargetCollateral, rationalAdd, rationalCeil, rationalDiv, rationalFloor, rationalFromInt, rationalMul, rationalNegate, rationalSub, rationalToFloat, rationalZero, redeemCdp, redeemRob, repsertReadonlyArr, repsertWithReadonlyArr, requestSpAccountAdjustment, requestSpAccountClosure, requestSpAccountCreation, rewardSnapshotPrecision, robAmtToSpend, robBuyOrderSummary, robCollateralAmtToSpend, robIAssetAmtToSpend, runCreateScriptRefTx, runOneShotMintTx, scriptRef, serialiseActionReturnDatum, serialiseCdpDatum, serialiseCdpRedeemer, serialiseCollectorRedeemer, serialiseExecuteDatum, serialiseFeedInterestOracleRedeemer, serialiseGovDatum, serialiseGovRedeemer, serialiseIAssetDatum, serialiseIAssetRedeemer, serialiseInterestCollectionDatum, serialiseInterestCollectionRedeemer, serialiseInterestOracleDatum, serialisePriceOracleDatum, serialisePriceOracleRedeemer, serialisePythFeedParams, serialisePythFeedRedeemer, serialisePythStateDatum, serialisePythUpdatesRedeemer, serialiseRedeemCdpWithdrawalRedeemer, serialiseRobDatum, serialiseRobRedeemer, serialiseStabilityPoolDatum, serialiseStabilityPoolRedeemer, serialiseStableswapOrderDatum, serialiseStableswapOrderRedeemer, serialiseStableswapOutputDatum, serialiseStableswapPoolDatum, serialiseStakingDatum, serialiseStakingRedeemer, shuffle, signersAllOf, spAdd, spDiv, spMul, spSub, spZeroNegatives, startInterestOracle, startPriceOracleTx, submitTx, sum, summarizeActualLeverageRedemptions, toAssetClassFromLucid, toDataDerivedPythPrice, toSystemParamsAsset, treasuryCollect, treasuryFeeTx, treasuryMerge, treasuryPrepareWithdrawal, treasurySplit, updateAccount, updatePermissions, updatePoolStateWhenWithdrawalFee, updateStableswapPoolFees, updateStakingLockedAmount, vote, withdrawCdp, zeroNegatives };