@mento-protocol/mento-sdk 2.0.0-beta.7 → 2.0.0-beta.9
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/README.md +177 -0
- package/dist/abis/broker.d.ts.map +1 -1
- package/dist/abis/broker.js +7 -0
- package/dist/abis/broker.js.map +1 -1
- package/dist/abis/index.d.ts +1 -0
- package/dist/abis/index.d.ts.map +1 -1
- package/dist/abis/index.js +1 -0
- package/dist/abis/index.js.map +1 -1
- package/dist/adapters/implementations/ethersAdapter.d.ts +5 -1
- package/dist/adapters/implementations/ethersAdapter.d.ts.map +1 -1
- package/dist/adapters/implementations/ethersAdapter.js +73 -0
- package/dist/adapters/implementations/ethersAdapter.js.map +1 -1
- package/dist/adapters/implementations/ethersV5Adapter.d.ts +5 -1
- package/dist/adapters/implementations/ethersV5Adapter.d.ts.map +1 -1
- package/dist/adapters/implementations/ethersV5Adapter.js +73 -0
- package/dist/adapters/implementations/ethersV5Adapter.js.map +1 -1
- package/dist/adapters/implementations/viemAdapter.d.ts +12 -3
- package/dist/adapters/implementations/viemAdapter.d.ts.map +1 -1
- package/dist/adapters/implementations/viemAdapter.js +101 -1
- package/dist/adapters/implementations/viemAdapter.js.map +1 -1
- package/dist/adapters/proxies/ethersAdapterProxy.d.ts +2 -1
- package/dist/adapters/proxies/ethersAdapterProxy.d.ts.map +1 -1
- package/dist/adapters/proxies/ethersAdapterProxy.js +7 -0
- package/dist/adapters/proxies/ethersAdapterProxy.js.map +1 -1
- package/dist/adapters/proxies/ethersV5AdapterProxy.d.ts +2 -1
- package/dist/adapters/proxies/ethersV5AdapterProxy.d.ts.map +1 -1
- package/dist/adapters/proxies/ethersV5AdapterProxy.js +7 -0
- package/dist/adapters/proxies/ethersV5AdapterProxy.js.map +1 -1
- package/dist/adapters/proxies/viemAdapterProxy.d.ts +7 -3
- package/dist/adapters/proxies/viemAdapterProxy.d.ts.map +1 -1
- package/dist/adapters/proxies/viemAdapterProxy.js +11 -4
- package/dist/adapters/proxies/viemAdapterProxy.js.map +1 -1
- package/dist/constants/aaveConfig.d.ts +7 -0
- package/dist/constants/aaveConfig.d.ts.map +1 -0
- package/dist/constants/aaveConfig.js +22 -0
- package/dist/constants/aaveConfig.js.map +1 -0
- package/dist/constants/index.d.ts +1 -0
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +1 -0
- package/dist/constants/index.js.map +1 -1
- package/dist/constants/mentoAddresses.d.ts +1 -0
- package/dist/constants/mentoAddresses.d.ts.map +1 -1
- package/dist/constants/mentoAddresses.js +1 -0
- package/dist/constants/mentoAddresses.js.map +1 -1
- package/dist/index.d.ts +66 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +75 -3
- package/dist/index.js.map +1 -1
- package/dist/services/index.d.ts +1 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +1 -0
- package/dist/services/index.js.map +1 -1
- package/dist/services/stableTokenService.d.ts.map +1 -1
- package/dist/services/stableTokenService.js +2 -1
- package/dist/services/stableTokenService.js.map +1 -1
- package/dist/services/supply/ISupplyCalculator.d.ts +10 -0
- package/dist/services/supply/ISupplyCalculator.d.ts.map +1 -1
- package/dist/services/supply/aaveSupplyCalculator.d.ts +21 -0
- package/dist/services/supply/aaveSupplyCalculator.d.ts.map +1 -0
- package/dist/services/supply/aaveSupplyCalculator.js +46 -0
- package/dist/services/supply/aaveSupplyCalculator.js.map +1 -0
- package/dist/services/supply/calculatorFactory.d.ts +8 -0
- package/dist/services/supply/calculatorFactory.d.ts.map +1 -0
- package/dist/services/supply/calculatorFactory.js +3 -0
- package/dist/services/supply/calculatorFactory.js.map +1 -0
- package/dist/services/supply/defaultCalculatorFactory.d.ts +9 -0
- package/dist/services/supply/defaultCalculatorFactory.d.ts.map +1 -0
- package/dist/services/supply/defaultCalculatorFactory.js +23 -0
- package/dist/services/supply/defaultCalculatorFactory.js.map +1 -0
- package/dist/services/supply/index.d.ts +4 -1
- package/dist/services/supply/index.d.ts.map +1 -1
- package/dist/services/supply/index.js +4 -1
- package/dist/services/supply/index.js.map +1 -1
- package/dist/services/supply/{UniV3SupplyCalculator.d.ts → uniV3SupplyCalculator.d.ts} +1 -1
- package/dist/services/supply/{UniV3SupplyCalculator.d.ts.map → uniV3SupplyCalculator.d.ts.map} +1 -1
- package/dist/services/supply/{UniV3SupplyCalculator.js → uniV3SupplyCalculator.js} +1 -1
- package/dist/services/supply/{UniV3SupplyCalculator.js.map → uniV3SupplyCalculator.js.map} +1 -1
- package/dist/services/supplyAdjustmentService.d.ts +4 -2
- package/dist/services/supplyAdjustmentService.d.ts.map +1 -1
- package/dist/services/supplyAdjustmentService.js +19 -8
- package/dist/services/supplyAdjustmentService.js.map +1 -1
- package/dist/services/swapService.d.ts +70 -0
- package/dist/services/swapService.d.ts.map +1 -0
- package/dist/services/swapService.js +134 -0
- package/dist/services/swapService.js.map +1 -0
- package/dist/types/provider.d.ts +18 -0
- package/dist/types/provider.d.ts.map +1 -1
- package/dist/types/token.d.ts +8 -1
- package/dist/types/token.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aaveSupplyCalculator.js","sourceRoot":"","sources":["../../../src/services/supply/aaveSupplyCalculator.ts"],"names":[],"mappings":";;;AAEA,qCAAsC;AACtC,+CAAqD;AAErD;;;;;;GAMG;AACH,MAAa,oBAAoB;IAE/B,YACmB,QAAyB,EAClC,eAAyB;QADhB,aAAQ,GAAR,QAAQ,CAAiB;QAClC,oBAAe,GAAf,eAAe,CAAU;IAChC,CAAC;IAEJ;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,YAAoB;QAClC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAA;QAEhD,MAAM,aAAa,GAAG,+BAAmB,CAAC,OAAO,CAAC,CAAA;QAClD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,EAAE,CAAA,CAAC,uCAAuC;QACnD,CAAC;QACD,MAAM,aAAa,GAAG,aAAa,CAAC,YAAY,CAAC,CAAA;QACjD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,EAAE,CAAA,CAAC,6CAA6C;QACzD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE;YAC/C,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAChD,OAAO,EAAE,aAAa;gBACtB,GAAG,EAAE,gBAAS;gBACd,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,CAAC,aAAa,CAAC;aACtB,CAAC,CAAW,CAAA;YAEb,OAAO,OAAO,CAAA;QAChB,CAAC,CAAC,CACH,CAAA;QAED,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,EAAE,EAAE,CAAC,CAAA;IAC7D,CAAC;CACF;AAvCD,oDAuCC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ISupplyCalculator } from './ISupplyCalculator';
|
|
2
|
+
import { ProviderAdapter } from '../../types';
|
|
3
|
+
export interface CalculatorFactory {
|
|
4
|
+
createUniV3Calculator(provider: ProviderAdapter): ISupplyCalculator;
|
|
5
|
+
createAAVECalculator(provider: ProviderAdapter): ISupplyCalculator;
|
|
6
|
+
createMultisigCalculator(provider: ProviderAdapter): ISupplyCalculator;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=calculatorFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculatorFactory.d.ts","sourceRoot":"","sources":["../../../src/services/supply/calculatorFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C,MAAM,WAAW,iBAAiB;IAChC,qBAAqB,CAAC,QAAQ,EAAE,eAAe,GAAG,iBAAiB,CAAA;IACnE,oBAAoB,CAAC,QAAQ,EAAE,eAAe,GAAG,iBAAiB,CAAA;IAClE,wBAAwB,CAAC,QAAQ,EAAE,eAAe,GAAG,iBAAiB,CAAA;CACvE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculatorFactory.js","sourceRoot":"","sources":["../../../src/services/supply/calculatorFactory.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ProviderAdapter } from '../../types';
|
|
2
|
+
import { CalculatorFactory } from './calculatorFactory';
|
|
3
|
+
import { ISupplyCalculator } from './ISupplyCalculator';
|
|
4
|
+
export declare class DefaultCalculatorFactory implements CalculatorFactory {
|
|
5
|
+
createUniV3Calculator(provider: ProviderAdapter): ISupplyCalculator;
|
|
6
|
+
createAAVECalculator(provider: ProviderAdapter): ISupplyCalculator;
|
|
7
|
+
createMultisigCalculator(provider: ProviderAdapter): ISupplyCalculator;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=defaultCalculatorFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultCalculatorFactory.d.ts","sourceRoot":"","sources":["../../../src/services/supply/defaultCalculatorFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAG7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAIvD,qBAAa,wBAAyB,YAAW,iBAAiB;IAChE,qBAAqB,CAAC,QAAQ,EAAE,eAAe,GAAG,iBAAiB;IASnE,oBAAoB,CAAC,QAAQ,EAAE,eAAe,GAAG,iBAAiB;IAOlE,wBAAwB,CAAC,QAAQ,EAAE,eAAe,GAAG,iBAAiB;CAMvE"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DefaultCalculatorFactory = void 0;
|
|
4
|
+
const constants_1 = require("../../constants");
|
|
5
|
+
const aaveSupplyCalculator_1 = require("./aaveSupplyCalculator");
|
|
6
|
+
const uniV3SupplyCalculator_1 = require("./uniV3SupplyCalculator");
|
|
7
|
+
const multisigSupplyCalculator_1 = require("./multisigSupplyCalculator");
|
|
8
|
+
class DefaultCalculatorFactory {
|
|
9
|
+
createUniV3Calculator(provider) {
|
|
10
|
+
return new uniV3SupplyCalculator_1.UniV3SupplyCalculator(provider, constants_1.PROTOCOL_ADDRESSES.UNIV3_POSITION_MANAGER, constants_1.PROTOCOL_ADDRESSES.UNIV3_FACTORY, constants_1.MENTO_ADDRESSES.PROTOCOL_MULTISIG);
|
|
11
|
+
}
|
|
12
|
+
createAAVECalculator(provider) {
|
|
13
|
+
return new aaveSupplyCalculator_1.AAVESupplyCalculator(provider, [
|
|
14
|
+
constants_1.MENTO_ADDRESSES.OPERATIONAL_WALLET,
|
|
15
|
+
constants_1.MENTO_ADDRESSES.PROTOCOL_MULTISIG,
|
|
16
|
+
]);
|
|
17
|
+
}
|
|
18
|
+
createMultisigCalculator(provider) {
|
|
19
|
+
return new multisigSupplyCalculator_1.MultisigSupplyCalculator(provider, constants_1.MENTO_ADDRESSES.PROTOCOL_MULTISIG);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.DefaultCalculatorFactory = DefaultCalculatorFactory;
|
|
23
|
+
//# sourceMappingURL=defaultCalculatorFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultCalculatorFactory.js","sourceRoot":"","sources":["../../../src/services/supply/defaultCalculatorFactory.ts"],"names":[],"mappings":";;;AACA,+CAAqE;AACrE,iEAA6D;AAG7D,mEAA+D;AAC/D,yEAAqE;AAErE,MAAa,wBAAwB;IACnC,qBAAqB,CAAC,QAAyB;QAC7C,OAAO,IAAI,6CAAqB,CAC9B,QAAQ,EACR,8BAAkB,CAAC,sBAAsB,EACzC,8BAAkB,CAAC,aAAa,EAChC,2BAAe,CAAC,iBAAiB,CAClC,CAAA;IACH,CAAC;IAED,oBAAoB,CAAC,QAAyB;QAC5C,OAAO,IAAI,2CAAoB,CAAC,QAAQ,EAAE;YACxC,2BAAe,CAAC,kBAAkB;YAClC,2BAAe,CAAC,iBAAiB;SAClC,CAAC,CAAA;IACJ,CAAC;IAED,wBAAwB,CAAC,QAAyB;QAChD,OAAO,IAAI,mDAAwB,CACjC,QAAQ,EACR,2BAAe,CAAC,iBAAiB,CAClC,CAAA;IACH,CAAC;CACF;AAvBD,4DAuBC"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './uniV3SupplyCalculator';
|
|
2
2
|
export * from './multisigSupplyCalculator';
|
|
3
3
|
export * from './ISupplyCalculator';
|
|
4
|
+
export * from './aaveSupplyCalculator';
|
|
5
|
+
export * from './calculatorFactory';
|
|
6
|
+
export * from './defaultCalculatorFactory';
|
|
4
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/supply/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qBAAqB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/supply/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA"}
|
|
@@ -14,7 +14,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./
|
|
17
|
+
__exportStar(require("./uniV3SupplyCalculator"), exports);
|
|
18
18
|
__exportStar(require("./multisigSupplyCalculator"), exports);
|
|
19
19
|
__exportStar(require("./ISupplyCalculator"), exports);
|
|
20
|
+
__exportStar(require("./aaveSupplyCalculator"), exports);
|
|
21
|
+
__exportStar(require("./calculatorFactory"), exports);
|
|
22
|
+
__exportStar(require("./defaultCalculatorFactory"), exports);
|
|
20
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/supply/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAuC;AACvC,6DAA0C;AAC1C,sDAAmC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/supply/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAuC;AACvC,6DAA0C;AAC1C,sDAAmC;AACnC,yDAAsC;AACtC,sDAAmC;AACnC,6DAA0C"}
|
package/dist/services/supply/{UniV3SupplyCalculator.d.ts.map → uniV3SupplyCalculator.d.ts.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"uniV3SupplyCalculator.d.ts","sourceRoot":"","sources":["../../../src/services/supply/uniV3SupplyCalculator.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAuB,MAAM,aAAa,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAOvD,qBAAa,qBAAsB,YAAW,iBAAiB;IAK3D,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,iBAAiB;IAP3B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC;IAC/D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiC;gBAGjD,QAAQ,EAAE,eAAe,EACzB,sBAAsB,EAAE,MAAM,EAC9B,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,MAAM;IAG7B,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA+CtD,OAAO,CAAC,qBAAqB;YAYf,uBAAuB;YAkCvB,oBAAoB;YAqEpB,mBAAmB;YAoCnB,cAAc;YAqBd,gBAAgB;IAuB9B,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,gBAAgB;CAgDzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"uniV3SupplyCalculator.js","sourceRoot":"","sources":["../../../src/services/supply/uniV3SupplyCalculator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { ProviderAdapter, StableToken } from '../types';
|
|
2
|
+
import { CalculatorFactory } from './supply/calculatorFactory';
|
|
2
3
|
export declare class SupplyAdjustmentService {
|
|
3
|
-
private config;
|
|
4
|
-
constructor(provider: ProviderAdapter);
|
|
4
|
+
private readonly config;
|
|
5
|
+
constructor(provider: ProviderAdapter, calculatorFactory: CalculatorFactory);
|
|
6
|
+
private initializeConfig;
|
|
5
7
|
/**
|
|
6
8
|
* Get the adjusted supply of a stable token
|
|
7
9
|
* @param token - The stable token to get the adjusted supply for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supplyAdjustmentService.d.ts","sourceRoot":"","sources":["../../src/services/supplyAdjustmentService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAqB,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"supplyAdjustmentService.d.ts","sourceRoot":"","sources":["../../src/services/supplyAdjustmentService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAqB,MAAM,UAAU,CAAA;AAE1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAE9D,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;gBAExC,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB;IAO3E,OAAO,CAAC,gBAAgB;IAoBxB;;;;OAIG;IACG,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;CAa7D"}
|
|
@@ -2,17 +2,28 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SupplyAdjustmentService = void 0;
|
|
4
4
|
const constants_1 = require("../constants");
|
|
5
|
-
const supply_1 = require("./supply");
|
|
6
5
|
class SupplyAdjustmentService {
|
|
7
|
-
constructor(provider) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
constructor(provider, calculatorFactory) {
|
|
7
|
+
if (!provider)
|
|
8
|
+
throw new Error('Provider is required');
|
|
9
|
+
if (!calculatorFactory)
|
|
10
|
+
throw new Error('Calculator factory is required');
|
|
11
|
+
this.config = this.initializeConfig(provider, calculatorFactory);
|
|
12
|
+
}
|
|
13
|
+
initializeConfig(provider, factory) {
|
|
14
|
+
const uniV3Calculator = factory.createUniV3Calculator(provider);
|
|
15
|
+
const aaveCalculator = factory.createAAVECalculator(provider);
|
|
16
|
+
const multisigCalculator = factory.createMultisigCalculator(provider);
|
|
17
|
+
return Object.freeze({
|
|
18
|
+
[constants_1.STABLE_TOKEN_SYMBOLS.cUSD]: Object.freeze([
|
|
12
19
|
{ calculator: uniV3Calculator },
|
|
13
20
|
{ calculator: multisigCalculator },
|
|
14
|
-
|
|
15
|
-
|
|
21
|
+
{ calculator: aaveCalculator },
|
|
22
|
+
]),
|
|
23
|
+
[constants_1.STABLE_TOKEN_SYMBOLS.cEUR]: Object.freeze([
|
|
24
|
+
{ calculator: aaveCalculator },
|
|
25
|
+
]),
|
|
26
|
+
});
|
|
16
27
|
}
|
|
17
28
|
/**
|
|
18
29
|
* Get the adjusted supply of a stable token
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supplyAdjustmentService.js","sourceRoot":"","sources":["../../src/services/supplyAdjustmentService.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"supplyAdjustmentService.js","sourceRoot":"","sources":["../../src/services/supplyAdjustmentService.ts"],"names":[],"mappings":";;;AACA,4CAAmD;AAGnD,MAAa,uBAAuB;IAGlC,YAAY,QAAyB,EAAE,iBAAoC;QACzE,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACtD,IAAI,CAAC,iBAAiB;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAEzE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAA;IAClE,CAAC;IAEO,gBAAgB,CACtB,QAAyB,EACzB,OAA0B;QAE1B,MAAM,eAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAA;QAC/D,MAAM,cAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QAC7D,MAAM,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAA;QAErE,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,CAAC,gCAAoB,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC;gBACzC,EAAE,UAAU,EAAE,eAAe,EAAE;gBAC/B,EAAE,UAAU,EAAE,kBAAkB,EAAE;gBAClC,EAAE,UAAU,EAAE,cAAc,EAAE;aAC/B,CAAC;YACF,CAAC,gCAAoB,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC;gBACzC,EAAE,UAAU,EAAE,cAAc,EAAE;aAC/B,CAAC;SACH,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,KAAkB;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC7C,IAAI,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC,WAAW,CAAA;QAE1C,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAEtC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACnE,MAAM,IAAI,MAAM,CAAA;QAClB,CAAC;QAED,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAA;IAC1B,CAAC;CACF;AAhDD,0DAgDC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { ProviderAdapter, TransactionResponse, ContractWriteOptions } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* SwapService provides methods for exchanging tokens through the Mento Protocol.
|
|
4
|
+
*
|
|
5
|
+
* This service handles all interactions with the Broker contract and provides
|
|
6
|
+
* methods for swapping tokens and estimating exchange rates.
|
|
7
|
+
*/
|
|
8
|
+
export declare class SwapService {
|
|
9
|
+
private provider;
|
|
10
|
+
constructor(provider: ProviderAdapter);
|
|
11
|
+
/**
|
|
12
|
+
* Swap a specified amount of collateral token for stable token.
|
|
13
|
+
*
|
|
14
|
+
* @param tokenIn The address of the input token (collateral token)
|
|
15
|
+
* @param tokenOut The address of the output token (stable token)
|
|
16
|
+
* @param amountIn The amount of input token to swap
|
|
17
|
+
* @param minAmountOut The minimum amount of output token to receive (for slippage protection)
|
|
18
|
+
* @param options Optional parameters for the transaction (gas settings)
|
|
19
|
+
* @returns A transaction response object
|
|
20
|
+
*/
|
|
21
|
+
swapIn(tokenIn: string, tokenOut: string, amountIn: string, minAmountOut: string, options?: Omit<ContractWriteOptions, 'address' | 'abi' | 'functionName' | 'args'>): Promise<TransactionResponse>;
|
|
22
|
+
/**
|
|
23
|
+
* Swap collateral token for a specified amount of stable token.
|
|
24
|
+
*
|
|
25
|
+
* @param tokenIn The address of the input token (collateral token)
|
|
26
|
+
* @param tokenOut The address of the output token (stable token)
|
|
27
|
+
* @param amountOut The exact amount of output token to receive
|
|
28
|
+
* @param maxAmountIn The maximum amount of input token to spend (for slippage protection)
|
|
29
|
+
* @param options Optional parameters for the transaction (gas settings)
|
|
30
|
+
* @returns A transaction response object
|
|
31
|
+
*/
|
|
32
|
+
swapOut(tokenIn: string, tokenOut: string, amountOut: string, maxAmountIn: string, options?: Omit<ContractWriteOptions, 'address' | 'abi' | 'functionName' | 'args'>): Promise<TransactionResponse>;
|
|
33
|
+
/**
|
|
34
|
+
* Calculate the amount of output token that would be received for a given input amount.
|
|
35
|
+
*
|
|
36
|
+
* @param tokenIn The address of the input token
|
|
37
|
+
* @param tokenOut The address of the output token
|
|
38
|
+
* @param amountIn The amount of input token
|
|
39
|
+
* @returns The expected amount of output token as a string
|
|
40
|
+
*/
|
|
41
|
+
getAmountOut(tokenIn: string, tokenOut: string, amountIn: string): Promise<string>;
|
|
42
|
+
/**
|
|
43
|
+
* Calculate the amount of input token required to receive a given output amount.
|
|
44
|
+
*
|
|
45
|
+
* @param tokenIn The address of the input token
|
|
46
|
+
* @param tokenOut The address of the output token
|
|
47
|
+
* @param amountOut The desired amount of output token
|
|
48
|
+
* @returns The required amount of input token as a string
|
|
49
|
+
*/
|
|
50
|
+
getAmountIn(tokenIn: string, tokenOut: string, amountOut: string): Promise<string>;
|
|
51
|
+
/**
|
|
52
|
+
* Estimate the gas needed for a swap transaction.
|
|
53
|
+
*
|
|
54
|
+
* @param methodName The method to call ('swapIn' or 'swapOut')
|
|
55
|
+
* @param args The arguments for the method
|
|
56
|
+
* @returns The estimated gas as a string
|
|
57
|
+
*/
|
|
58
|
+
estimateGas(methodName: 'swapIn' | 'swapOut', args: [string, string, string, string]): Promise<string>;
|
|
59
|
+
/**
|
|
60
|
+
* Calculate the price impact of a swap as a percentage.
|
|
61
|
+
*
|
|
62
|
+
* @param tokenIn The address of the input token
|
|
63
|
+
* @param tokenOut The address of the output token
|
|
64
|
+
* @param amountIn The amount of input token
|
|
65
|
+
* @param amountOut The expected amount of output token
|
|
66
|
+
* @returns The price impact as a percentage string (e.g., "0.5" for 0.5%)
|
|
67
|
+
*/
|
|
68
|
+
calculatePriceImpact(tokenIn: string, tokenOut: string, amountIn: string, amountOut: string): Promise<string>;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=swapService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swapService.d.ts","sourceRoot":"","sources":["../../src/services/swapService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAGrF;;;;;GAKG;AACH,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,eAAe;IAE7C;;;;;;;;;OASG;IACG,MAAM,CACV,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,GAAG,KAAK,GAAG,cAAc,GAAG,MAAM,CAAM,GACpF,OAAO,CAAC,mBAAmB,CAAC;IAa/B;;;;;;;;;OASG;IACG,OAAO,CACX,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,GAAG,KAAK,GAAG,cAAc,GAAG,MAAM,CAAM,GACpF,OAAO,CAAC,mBAAmB,CAAC;IAa/B;;;;;;;OAOG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBxF;;;;;;;OAOG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBxF;;;;;;OAMG;IACG,WAAW,CACf,UAAU,EAAE,QAAQ,GAAG,SAAS,EAChC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACrC,OAAO,CAAC,MAAM,CAAC;IAgBlB;;;;;;;;OAQG;IACG,oBAAoB,CACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;CASnB"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SwapService = void 0;
|
|
4
|
+
const abis_1 = require("../abis");
|
|
5
|
+
const constants_1 = require("../constants");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
7
|
+
/**
|
|
8
|
+
* SwapService provides methods for exchanging tokens through the Mento Protocol.
|
|
9
|
+
*
|
|
10
|
+
* This service handles all interactions with the Broker contract and provides
|
|
11
|
+
* methods for swapping tokens and estimating exchange rates.
|
|
12
|
+
*/
|
|
13
|
+
class SwapService {
|
|
14
|
+
constructor(provider) {
|
|
15
|
+
this.provider = provider;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Swap a specified amount of collateral token for stable token.
|
|
19
|
+
*
|
|
20
|
+
* @param tokenIn The address of the input token (collateral token)
|
|
21
|
+
* @param tokenOut The address of the output token (stable token)
|
|
22
|
+
* @param amountIn The amount of input token to swap
|
|
23
|
+
* @param minAmountOut The minimum amount of output token to receive (for slippage protection)
|
|
24
|
+
* @param options Optional parameters for the transaction (gas settings)
|
|
25
|
+
* @returns A transaction response object
|
|
26
|
+
*/
|
|
27
|
+
async swapIn(tokenIn, tokenOut, amountIn, minAmountOut, options = {}) {
|
|
28
|
+
const chainId = await this.provider.getChainId();
|
|
29
|
+
const brokerAddress = (0, constants_1.getContractAddress)(chainId, constants_1.BROKER);
|
|
30
|
+
return this.provider.writeContract({
|
|
31
|
+
address: brokerAddress,
|
|
32
|
+
abi: abis_1.BROKER_ABI,
|
|
33
|
+
functionName: 'swapIn',
|
|
34
|
+
args: [tokenIn, tokenOut, amountIn, minAmountOut],
|
|
35
|
+
...options
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Swap collateral token for a specified amount of stable token.
|
|
40
|
+
*
|
|
41
|
+
* @param tokenIn The address of the input token (collateral token)
|
|
42
|
+
* @param tokenOut The address of the output token (stable token)
|
|
43
|
+
* @param amountOut The exact amount of output token to receive
|
|
44
|
+
* @param maxAmountIn The maximum amount of input token to spend (for slippage protection)
|
|
45
|
+
* @param options Optional parameters for the transaction (gas settings)
|
|
46
|
+
* @returns A transaction response object
|
|
47
|
+
*/
|
|
48
|
+
async swapOut(tokenIn, tokenOut, amountOut, maxAmountIn, options = {}) {
|
|
49
|
+
const chainId = await this.provider.getChainId();
|
|
50
|
+
const brokerAddress = (0, constants_1.getContractAddress)(chainId, constants_1.BROKER);
|
|
51
|
+
return this.provider.writeContract({
|
|
52
|
+
address: brokerAddress,
|
|
53
|
+
abi: abis_1.BROKER_ABI,
|
|
54
|
+
functionName: 'swapOut',
|
|
55
|
+
args: [tokenIn, tokenOut, amountOut, maxAmountIn],
|
|
56
|
+
...options
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Calculate the amount of output token that would be received for a given input amount.
|
|
61
|
+
*
|
|
62
|
+
* @param tokenIn The address of the input token
|
|
63
|
+
* @param tokenOut The address of the output token
|
|
64
|
+
* @param amountIn The amount of input token
|
|
65
|
+
* @returns The expected amount of output token as a string
|
|
66
|
+
*/
|
|
67
|
+
async getAmountOut(tokenIn, tokenOut, amountIn) {
|
|
68
|
+
const chainId = await this.provider.getChainId();
|
|
69
|
+
const brokerAddress = (0, constants_1.getContractAddress)(chainId, constants_1.BROKER);
|
|
70
|
+
const result = await (0, utils_1.retryOperation)(() => this.provider.readContract({
|
|
71
|
+
address: brokerAddress,
|
|
72
|
+
abi: abis_1.BROKER_ABI,
|
|
73
|
+
functionName: 'getAmountOut',
|
|
74
|
+
args: [tokenIn, tokenOut, amountIn]
|
|
75
|
+
}));
|
|
76
|
+
return result.toString();
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Calculate the amount of input token required to receive a given output amount.
|
|
80
|
+
*
|
|
81
|
+
* @param tokenIn The address of the input token
|
|
82
|
+
* @param tokenOut The address of the output token
|
|
83
|
+
* @param amountOut The desired amount of output token
|
|
84
|
+
* @returns The required amount of input token as a string
|
|
85
|
+
*/
|
|
86
|
+
async getAmountIn(tokenIn, tokenOut, amountOut) {
|
|
87
|
+
const chainId = await this.provider.getChainId();
|
|
88
|
+
const brokerAddress = (0, constants_1.getContractAddress)(chainId, constants_1.BROKER);
|
|
89
|
+
const result = await (0, utils_1.retryOperation)(() => this.provider.readContract({
|
|
90
|
+
address: brokerAddress,
|
|
91
|
+
abi: abis_1.BROKER_ABI,
|
|
92
|
+
functionName: 'getAmountIn',
|
|
93
|
+
args: [tokenIn, tokenOut, amountOut]
|
|
94
|
+
}));
|
|
95
|
+
return result.toString();
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Estimate the gas needed for a swap transaction.
|
|
99
|
+
*
|
|
100
|
+
* @param methodName The method to call ('swapIn' or 'swapOut')
|
|
101
|
+
* @param args The arguments for the method
|
|
102
|
+
* @returns The estimated gas as a string
|
|
103
|
+
*/
|
|
104
|
+
async estimateGas(methodName, args) {
|
|
105
|
+
const chainId = await this.provider.getChainId();
|
|
106
|
+
const brokerAddress = (0, constants_1.getContractAddress)(chainId, constants_1.BROKER);
|
|
107
|
+
// For now we'll just return a reasonable default gas limit since the actual
|
|
108
|
+
// gas estimation would depend on provider specifics that aren't in the interface
|
|
109
|
+
// In a real implementation, this would interact with provider-specific gas estimation
|
|
110
|
+
// Default values based on method type
|
|
111
|
+
const defaultGas = methodName === 'swapIn' ? '300000' : '350000';
|
|
112
|
+
// TODO: Implement actual gas estimation when provider adapters support it
|
|
113
|
+
return defaultGas;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Calculate the price impact of a swap as a percentage.
|
|
117
|
+
*
|
|
118
|
+
* @param tokenIn The address of the input token
|
|
119
|
+
* @param tokenOut The address of the output token
|
|
120
|
+
* @param amountIn The amount of input token
|
|
121
|
+
* @param amountOut The expected amount of output token
|
|
122
|
+
* @returns The price impact as a percentage string (e.g., "0.5" for 0.5%)
|
|
123
|
+
*/
|
|
124
|
+
async calculatePriceImpact(tokenIn, tokenOut, amountIn, amountOut) {
|
|
125
|
+
// This is a simplified implementation. In a real-world scenario,
|
|
126
|
+
// you would typically compare the execution price to a reference price
|
|
127
|
+
// from an oracle or a small test amount.
|
|
128
|
+
// For now, we'll just return a placeholder
|
|
129
|
+
// TODO: Implement actual price impact calculation
|
|
130
|
+
return "0.5";
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
exports.SwapService = SwapService;
|
|
134
|
+
//# sourceMappingURL=swapService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swapService.js","sourceRoot":"","sources":["../../src/services/swapService.ts"],"names":[],"mappings":"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"}
|
package/dist/types/provider.d.ts
CHANGED
|
@@ -4,8 +4,26 @@ export interface ContractCallOptions {
|
|
|
4
4
|
functionName: string;
|
|
5
5
|
args?: unknown[];
|
|
6
6
|
}
|
|
7
|
+
export interface ContractWriteOptions extends ContractCallOptions {
|
|
8
|
+
value?: bigint | string;
|
|
9
|
+
gasLimit?: bigint | number | string;
|
|
10
|
+
gasPrice?: bigint | string;
|
|
11
|
+
maxFeePerGas?: bigint | string;
|
|
12
|
+
maxPriorityFeePerGas?: bigint | string;
|
|
13
|
+
}
|
|
14
|
+
export interface TransactionResponse {
|
|
15
|
+
hash: string;
|
|
16
|
+
wait: (confirmations?: number) => Promise<TransactionReceipt>;
|
|
17
|
+
}
|
|
18
|
+
export interface TransactionReceipt {
|
|
19
|
+
transactionHash: string;
|
|
20
|
+
blockNumber: number;
|
|
21
|
+
status: number | boolean;
|
|
22
|
+
[key: string]: any;
|
|
23
|
+
}
|
|
7
24
|
export interface ProviderAdapter {
|
|
8
25
|
readContract(options: ContractCallOptions): Promise<unknown>;
|
|
26
|
+
writeContract(options: ContractWriteOptions): Promise<TransactionResponse>;
|
|
9
27
|
getChainId(): Promise<number>;
|
|
10
28
|
}
|
|
11
29
|
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/types/provider.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC/B,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9B"}
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/types/provider.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAChE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvC;AAED,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,kBAAkB;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC/B,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC3E,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9B"}
|
package/dist/types/token.d.ts
CHANGED
|
@@ -9,10 +9,17 @@ export interface StableToken extends BaseToken {
|
|
|
9
9
|
totalSupply: string;
|
|
10
10
|
}
|
|
11
11
|
export type CollateralAsset = BaseToken;
|
|
12
|
+
/**
|
|
13
|
+
* A supply adjustment is a calculator that is used to adjust the supply of a token.
|
|
14
|
+
* It takes the address of the token and will return the amount that should be removed
|
|
15
|
+
* from the total supply.
|
|
16
|
+
*
|
|
17
|
+
* @param calculator - The calculator to use to adjust the supply.
|
|
18
|
+
*/
|
|
12
19
|
export interface SupplyAdjustment {
|
|
13
20
|
calculator: ISupplyCalculator;
|
|
14
21
|
}
|
|
15
22
|
export interface TokenSupplyConfig {
|
|
16
|
-
[tokenSymbol: string]: SupplyAdjustment[];
|
|
23
|
+
[tokenSymbol: string]: readonly SupplyAdjustment[];
|
|
17
24
|
}
|
|
18
25
|
//# sourceMappingURL=token.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/types/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,CAAA;AAEvC,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,iBAAiB,CAAA;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/types/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,CAAA;AAEvC;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,iBAAiB,CAAA;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,gBAAgB,EAAE,CAAA;CACnD"}
|