@bitgo-beta/statics 10.0.1-alpha.4 → 10.0.1-alpha.400
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/.mocharc.js +2 -2
- package/CHANGELOG.md +3470 -0
- package/dist/src/account.d.ts +1003 -80
- package/dist/src/account.d.ts.map +1 -1
- package/dist/src/account.js +1568 -150
- package/dist/src/ada.d.ts +3 -1
- package/dist/src/ada.d.ts.map +1 -1
- package/dist/src/ada.js +13 -4
- package/dist/src/allCoinsAndTokens.d.ts +2 -0
- package/dist/src/allCoinsAndTokens.d.ts.map +1 -0
- package/dist/src/allCoinsAndTokens.js +829 -0
- package/dist/src/avaxp.d.ts +3 -1
- package/dist/src/avaxp.d.ts.map +1 -1
- package/dist/src/avaxp.js +18 -5
- package/dist/src/base.d.ts +2163 -28
- package/dist/src/base.d.ts.map +1 -1
- package/dist/src/base.js +2291 -45
- package/dist/src/coinFeatures.d.ts +104 -0
- package/dist/src/coinFeatures.d.ts.map +1 -0
- package/dist/src/coinFeatures.js +622 -0
- package/dist/src/coins/adaTokens.d.ts +2 -0
- package/dist/src/coins/adaTokens.d.ts.map +1 -0
- package/dist/src/coins/adaTokens.js +12 -0
- package/dist/src/coins/avaxTokens.d.ts +2 -0
- package/dist/src/coins/avaxTokens.d.ts.map +1 -0
- package/dist/src/coins/avaxTokens.js +124 -0
- package/dist/src/coins/botOfcTokens.d.ts +2 -0
- package/dist/src/coins/botOfcTokens.d.ts.map +1 -0
- package/dist/src/coins/botOfcTokens.js +5 -0
- package/dist/src/coins/botTokens.d.ts +3 -0
- package/dist/src/coins/botTokens.d.ts.map +1 -0
- package/dist/src/coins/botTokens.js +43 -0
- package/dist/src/coins/bscTokens.d.ts +2 -0
- package/dist/src/coins/bscTokens.d.ts.map +1 -0
- package/dist/src/coins/bscTokens.js +176 -0
- package/dist/src/coins/cosmosTokens.d.ts +2 -0
- package/dist/src/coins/cosmosTokens.d.ts.map +1 -0
- package/dist/src/coins/cosmosTokens.js +12 -0
- package/dist/src/coins/erc20Coins.d.ts +2 -0
- package/dist/src/coins/erc20Coins.d.ts.map +1 -0
- package/dist/src/coins/erc20Coins.js +1743 -0
- package/dist/src/coins/jettonTokens.d.ts +2 -0
- package/dist/src/coins/jettonTokens.d.ts.map +1 -0
- package/dist/src/coins/jettonTokens.js +13 -0
- package/dist/src/coins/nep141Tokens.d.ts +2 -0
- package/dist/src/coins/nep141Tokens.d.ts.map +1 -0
- package/dist/src/coins/nep141Tokens.js +14 -0
- package/dist/src/coins/ofcCoins.d.ts +2 -0
- package/dist/src/coins/ofcCoins.d.ts.map +1 -0
- package/dist/src/coins/ofcCoins.js +706 -0
- package/dist/src/coins/ofcErc20Coins.d.ts +3 -0
- package/dist/src/coins/ofcErc20Coins.d.ts.map +1 -0
- package/dist/src/coins/ofcErc20Coins.js +1539 -0
- package/dist/src/coins/polygonTokens.d.ts +2 -0
- package/dist/src/coins/polygonTokens.d.ts.map +1 -0
- package/dist/src/coins/polygonTokens.js +155 -0
- package/dist/src/coins/sip10Tokens.d.ts +2 -0
- package/dist/src/coins/sip10Tokens.d.ts.map +1 -0
- package/dist/src/coins/sip10Tokens.js +25 -0
- package/dist/src/coins/solTokens.d.ts +3 -0
- package/dist/src/coins/solTokens.d.ts.map +1 -0
- package/dist/src/coins/solTokens.js +395 -0
- package/dist/src/coins/vetTokens.d.ts +2 -0
- package/dist/src/coins/vetTokens.d.ts.map +1 -0
- package/dist/src/coins/vetTokens.js +11 -0
- package/dist/src/coins.d.ts +11 -0
- package/dist/src/coins.d.ts.map +1 -1
- package/dist/src/coins.js +325 -1022
- package/dist/src/constants.d.ts +3 -0
- package/dist/src/constants.d.ts.map +1 -0
- package/dist/src/constants.js +6 -0
- package/dist/src/errors.d.ts +6 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +16 -2
- package/dist/src/flrp.d.ts +40 -0
- package/dist/src/flrp.d.ts.map +1 -0
- package/dist/src/flrp.js +65 -0
- package/dist/src/index.d.ts +3 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +27 -3
- package/dist/src/lightning.d.ts +43 -0
- package/dist/src/lightning.d.ts.map +1 -0
- package/dist/src/lightning.js +60 -0
- package/dist/src/map.d.ts +11 -0
- package/dist/src/map.d.ts.map +1 -1
- package/dist/src/map.js +120 -14
- package/dist/src/networkFeatureMapForTokens.d.ts +3 -0
- package/dist/src/networkFeatureMapForTokens.d.ts.map +1 -0
- package/dist/src/networkFeatureMapForTokens.js +31 -0
- package/dist/src/networks.d.ts +1334 -54
- package/dist/src/networks.d.ts.map +1 -1
- package/dist/src/networks.js +1638 -51
- package/dist/src/ofc.d.ts +638 -5
- package/dist/src/ofc.d.ts.map +1 -1
- package/dist/src/ofc.js +1471 -19
- package/dist/src/tokenConfig.d.ts +266 -12
- package/dist/src/tokenConfig.d.ts.map +1 -1
- package/dist/src/tokenConfig.js +945 -215
- package/dist/src/utxo.d.ts +6 -2
- package/dist/src/utxo.d.ts.map +1 -1
- package/dist/src/utxo.js +89 -4
- package/dist/tsconfig.tsbuildinfo +1 -2717
- package/package.json +2 -2
- package/dist/resources/dot/index.d.ts +0 -3
- package/dist/resources/dot/index.d.ts.map +0 -1
- package/dist/resources/dot/index.js +0 -15
- package/dist/resources/dot/mainnet.d.ts +0 -2
- package/dist/resources/dot/mainnet.d.ts.map +0 -1
- package/dist/resources/dot/mainnet.js +0 -5
- package/dist/resources/dot/westend.d.ts +0 -2
- package/dist/resources/dot/westend.d.ts.map +0 -1
- package/dist/resources/dot/westend.js +0 -5
- package/resources/dot/index.ts +0 -2
- package/resources/dot/mainnet.ts +0 -2
- package/resources/dot/westend.ts +0 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,QAAiF,CAAC;AAE7G,eAAO,MAAM,uBAAuB,UAAU,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HEDERA_NODE_ACCCOUNT_ID = exports.DOMAIN_PATTERN = void 0;
|
|
4
|
+
exports.DOMAIN_PATTERN = /^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$/;
|
|
5
|
+
exports.HEDERA_NODE_ACCCOUNT_ID = '0.0.3';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLGNBQWMsR0FBRyw4RUFBOEUsQ0FBQztBQUVoRyxRQUFBLHVCQUF1QixHQUFHLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBET01BSU5fUEFUVEVSTiA9IC9eKD86W2EtejAtOV0oPzpbYS16MC05LV17MCw2MX1bYS16MC05XSk/XFwuKStbYS16MC05XVthLXowLTktXXswLDYxfVthLXowLTldJC87XG5cbmV4cG9ydCBjb25zdCBIRURFUkFfTk9ERV9BQ0NDT1VOVF9JRCA9ICcwLjAuMyc7XG4iXX0=
|
package/dist/src/errors.d.ts
CHANGED
|
@@ -12,12 +12,18 @@ export declare class CoinNotDefinedError extends BitGoStaticsError {
|
|
|
12
12
|
export declare class DuplicateCoinDefinitionError extends BitGoStaticsError {
|
|
13
13
|
constructor(coinName: string);
|
|
14
14
|
}
|
|
15
|
+
export declare class DuplicateCoinIdDefinitionError extends BitGoStaticsError {
|
|
16
|
+
constructor(id: string);
|
|
17
|
+
}
|
|
15
18
|
export declare class DisallowedCoinFeatureError extends BitGoStaticsError {
|
|
16
19
|
constructor(coinName: string, feature: CoinFeature);
|
|
17
20
|
}
|
|
18
21
|
export declare class MissingRequiredCoinFeatureError extends BitGoStaticsError {
|
|
19
22
|
constructor(coinName: string, missingFeatures: CoinFeature[]);
|
|
20
23
|
}
|
|
24
|
+
export declare class InvalidIdError extends BitGoStaticsError {
|
|
25
|
+
constructor(coinName: string, id: string);
|
|
26
|
+
}
|
|
21
27
|
export declare class InvalidContractAddressError extends BitGoStaticsError {
|
|
22
28
|
constructor(coinName: string, contractAddress: string);
|
|
23
29
|
}
|
package/dist/src/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,cAAM,iBAAkB,SAAQ,KAAK;gBAChB,OAAO,EAAE,MAAM;CAKnC;AAED,qBAAa,mBAAoB,SAAQ,iBAAiB;gBACrC,QAAQ,EAAE,MAAM;CAIpC;AAED,qBAAa,4BAA6B,SAAQ,iBAAiB;gBAC9C,QAAQ,EAAE,MAAM;CAIpC;AAED,qBAAa,0BAA2B,SAAQ,iBAAiB;gBAC5C,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;CAI1D;AAED,qBAAa,+BAAgC,SAAQ,iBAAiB;gBACjD,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE;CAIpE;AAED,qBAAa,2BAA4B,SAAQ,iBAAiB;gBAC7C,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;CAI7D;AAED,qBAAa,kBAAmB,SAAQ,iBAAiB;gBACpC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAIpD;AAED,qBAAa,4BAA6B,SAAQ,iBAAiB;gBAC9C,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE;CAMxE"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,cAAM,iBAAkB,SAAQ,KAAK;gBAChB,OAAO,EAAE,MAAM;CAKnC;AAED,qBAAa,mBAAoB,SAAQ,iBAAiB;gBACrC,QAAQ,EAAE,MAAM;CAIpC;AAED,qBAAa,4BAA6B,SAAQ,iBAAiB;gBAC9C,QAAQ,EAAE,MAAM;CAIpC;AAED,qBAAa,8BAA+B,SAAQ,iBAAiB;gBAChD,EAAE,EAAE,MAAM;CAI9B;AAED,qBAAa,0BAA2B,SAAQ,iBAAiB;gBAC5C,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;CAI1D;AAED,qBAAa,+BAAgC,SAAQ,iBAAiB;gBACjD,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE;CAIpE;AAED,qBAAa,cAAe,SAAQ,iBAAiB;gBAChC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;CAIhD;AAED,qBAAa,2BAA4B,SAAQ,iBAAiB;gBAC7C,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;CAI7D;AAED,qBAAa,kBAAmB,SAAQ,iBAAiB;gBACpC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAIpD;AAED,qBAAa,4BAA6B,SAAQ,iBAAiB;gBAC9C,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE;CAMxE"}
|
package/dist/src/errors.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ConflictingCoinFeaturesError = exports.InvalidDomainError = exports.InvalidContractAddressError = exports.MissingRequiredCoinFeatureError = exports.DisallowedCoinFeatureError = exports.DuplicateCoinDefinitionError = exports.CoinNotDefinedError = void 0;
|
|
3
|
+
exports.ConflictingCoinFeaturesError = exports.InvalidDomainError = exports.InvalidContractAddressError = exports.InvalidIdError = exports.MissingRequiredCoinFeatureError = exports.DisallowedCoinFeatureError = exports.DuplicateCoinIdDefinitionError = exports.DuplicateCoinDefinitionError = exports.CoinNotDefinedError = void 0;
|
|
4
4
|
class BitGoStaticsError extends Error {
|
|
5
5
|
constructor(message) {
|
|
6
6
|
super(message);
|
|
@@ -22,6 +22,13 @@ class DuplicateCoinDefinitionError extends BitGoStaticsError {
|
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
exports.DuplicateCoinDefinitionError = DuplicateCoinDefinitionError;
|
|
25
|
+
class DuplicateCoinIdDefinitionError extends BitGoStaticsError {
|
|
26
|
+
constructor(id) {
|
|
27
|
+
super(`coin with id '${id}' is already defined`);
|
|
28
|
+
Object.setPrototypeOf(this, DuplicateCoinIdDefinitionError.prototype);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.DuplicateCoinIdDefinitionError = DuplicateCoinIdDefinitionError;
|
|
25
32
|
class DisallowedCoinFeatureError extends BitGoStaticsError {
|
|
26
33
|
constructor(coinName, feature) {
|
|
27
34
|
super(`coin feature '${feature}' is disallowed for coin ${coinName}.`);
|
|
@@ -36,6 +43,13 @@ class MissingRequiredCoinFeatureError extends BitGoStaticsError {
|
|
|
36
43
|
}
|
|
37
44
|
}
|
|
38
45
|
exports.MissingRequiredCoinFeatureError = MissingRequiredCoinFeatureError;
|
|
46
|
+
class InvalidIdError extends BitGoStaticsError {
|
|
47
|
+
constructor(coinName, id) {
|
|
48
|
+
super(`invalid uuid '${id}' for coin '${coinName}'`);
|
|
49
|
+
Object.setPrototypeOf(this, InvalidIdError.prototype);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.InvalidIdError = InvalidIdError;
|
|
39
53
|
class InvalidContractAddressError extends BitGoStaticsError {
|
|
40
54
|
constructor(coinName, contractAddress) {
|
|
41
55
|
super(`invalid contract address '${contractAddress}' for coin '${coinName}'`);
|
|
@@ -57,4 +71,4 @@ class ConflictingCoinFeaturesError extends BitGoStaticsError {
|
|
|
57
71
|
}
|
|
58
72
|
}
|
|
59
73
|
exports.ConflictingCoinFeaturesError = ConflictingCoinFeaturesError;
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNQSxNQUFNLGlCQUFrQixTQUFRLEtBQUs7SUFDbkMsWUFBbUIsT0FBZTtRQUNoQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUN0QyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzRCxDQUFDO0NBQ0Y7QUFFRCxNQUFhLG1CQUFvQixTQUFRLGlCQUFpQjtJQUN4RCxZQUFtQixRQUFnQjtRQUNqQyxLQUFLLENBQUMsU0FBUyxRQUFRLGtCQUFrQixDQUFDLENBQUM7UUFDM0MsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0QsQ0FBQztDQUNGO0FBTEQsa0RBS0M7QUFFRCxNQUFhLDRCQUE2QixTQUFRLGlCQUFpQjtJQUNqRSxZQUFtQixRQUFnQjtRQUNqQyxLQUFLLENBQUMsU0FBUyxRQUFRLHNCQUFzQixDQUFDLENBQUM7UUFDL0MsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsNEJBQTRCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdEUsQ0FBQztDQUNGO0FBTEQsb0VBS0M7QUFFRCxNQUFhLDhCQUErQixTQUFRLGlCQUFpQjtJQUNuRSxZQUFtQixFQUFVO1FBQzNCLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLDhCQUE4QixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7Q0FDRjtBQUxELHdFQUtDO0FBRUQsTUFBYSwwQkFBMkIsU0FBUSxpQkFBaUI7SUFDL0QsWUFBbUIsUUFBZ0IsRUFBRSxPQUFvQjtRQUN2RCxLQUFLLENBQUMsaUJBQWlCLE9BQU8sNEJBQTRCLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDdkUsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsMEJBQTBCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEUsQ0FBQztDQUNGO0FBTEQsZ0VBS0M7QUFFRCxNQUFhLCtCQUFnQyxTQUFRLGlCQUFpQjtJQUNwRSxZQUFtQixRQUFnQixFQUFFLGVBQThCO1FBQ2pFLEtBQUssQ0FBQyw2QkFBNkIsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsNkJBQTZCLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDdkcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsK0JBQStCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekUsQ0FBQztDQUNGO0FBTEQsMEVBS0M7QUFFRCxNQUFhLGNBQWUsU0FBUSxpQkFBaUI7SUFDbkQsWUFBbUIsUUFBZ0IsRUFBRSxFQUFVO1FBQzdDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDckQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7Q0FDRjtBQUxELHdDQUtDO0FBRUQsTUFBYSwyQkFBNEIsU0FBUSxpQkFBaUI7SUFDaEUsWUFBbUIsUUFBZ0IsRUFBRSxlQUF1QjtRQUMxRCxLQUFLLENBQUMsNkJBQTZCLGVBQWUsZUFBZSxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLDJCQUEyQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7Q0FDRjtBQUxELGtFQUtDO0FBRUQsTUFBYSxrQkFBbUIsU0FBUSxpQkFBaUI7SUFDdkQsWUFBbUIsUUFBZ0IsRUFBRSxNQUFjO1FBQ2pELEtBQUssQ0FBQyxtQkFBbUIsTUFBTSxlQUFlLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDM0QsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUQsQ0FBQztDQUNGO0FBTEQsZ0RBS0M7QUFFRCxNQUFhLDRCQUE2QixTQUFRLGlCQUFpQjtJQUNqRSxZQUFtQixRQUFnQixFQUFFLG1CQUFrQztRQUNyRSxLQUFLLENBQ0gsNkJBQTZCLFFBQVEsNkNBQTZDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUNuSCxDQUFDO1FBQ0YsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsNEJBQTRCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdEUsQ0FBQztDQUNGO0FBUEQsb0VBT0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEVhY2ggc3ViY2xhc3MgbmVlZHMgdGhlIGV4cGxpY2l0IE9iamVjdC5zZXRQcm90b3R5cGVPZigpIHNvIHRoYXQgaW5zdGFuY2VvZiB3aWxsIHdvcmsgY29ycmVjdGx5LlxuICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWNyb3NvZnQvVHlwZVNjcmlwdC13aWtpL2Jsb2IvbWFzdGVyL0JyZWFraW5nLUNoYW5nZXMubWQjZXh0ZW5kaW5nLWJ1aWx0LWlucy1saWtlLWVycm9yLWFycmF5LWFuZC1tYXAtbWF5LW5vLWxvbmdlci13b3JrXG4gKi9cbmltcG9ydCB7IENvaW5GZWF0dXJlIH0gZnJvbSAnLi9iYXNlJztcblxuY2xhc3MgQml0R29TdGF0aWNzRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLnN0YWNrID0gbmV3IEVycm9yKG1lc3NhZ2UpLnN0YWNrO1xuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBCaXRHb1N0YXRpY3NFcnJvci5wcm90b3R5cGUpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDb2luTm90RGVmaW5lZEVycm9yIGV4dGVuZHMgQml0R29TdGF0aWNzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IoY29pbk5hbWU6IHN0cmluZykge1xuICAgIHN1cGVyKGBjb2luICcke2NvaW5OYW1lfScgaXMgbm90IGRlZmluZWRgKTtcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgQ29pbk5vdERlZmluZWRFcnJvci5wcm90b3R5cGUpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEdXBsaWNhdGVDb2luRGVmaW5pdGlvbkVycm9yIGV4dGVuZHMgQml0R29TdGF0aWNzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IoY29pbk5hbWU6IHN0cmluZykge1xuICAgIHN1cGVyKGBjb2luICcke2NvaW5OYW1lfScgaXMgYWxyZWFkeSBkZWZpbmVkYCk7XG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIER1cGxpY2F0ZUNvaW5EZWZpbml0aW9uRXJyb3IucHJvdG90eXBlKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRHVwbGljYXRlQ29pbklkRGVmaW5pdGlvbkVycm9yIGV4dGVuZHMgQml0R29TdGF0aWNzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IoaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKGBjb2luIHdpdGggaWQgJyR7aWR9JyBpcyBhbHJlYWR5IGRlZmluZWRgKTtcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgRHVwbGljYXRlQ29pbklkRGVmaW5pdGlvbkVycm9yLnByb3RvdHlwZSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIERpc2FsbG93ZWRDb2luRmVhdHVyZUVycm9yIGV4dGVuZHMgQml0R29TdGF0aWNzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IoY29pbk5hbWU6IHN0cmluZywgZmVhdHVyZTogQ29pbkZlYXR1cmUpIHtcbiAgICBzdXBlcihgY29pbiBmZWF0dXJlICcke2ZlYXR1cmV9JyBpcyBkaXNhbGxvd2VkIGZvciBjb2luICR7Y29pbk5hbWV9LmApO1xuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBEaXNhbGxvd2VkQ29pbkZlYXR1cmVFcnJvci5wcm90b3R5cGUpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNaXNzaW5nUmVxdWlyZWRDb2luRmVhdHVyZUVycm9yIGV4dGVuZHMgQml0R29TdGF0aWNzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IoY29pbk5hbWU6IHN0cmluZywgbWlzc2luZ0ZlYXR1cmVzOiBDb2luRmVhdHVyZVtdKSB7XG4gICAgc3VwZXIoYFJlcXVpcmVkIGNvaW4gZmVhdHVyZShzKSAnJHttaXNzaW5nRmVhdHVyZXMuam9pbignLCAnKX0nIHdlcmUgbm90IGZvdW5kIGZvciBjb2luICR7Y29pbk5hbWV9LmApO1xuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBNaXNzaW5nUmVxdWlyZWRDb2luRmVhdHVyZUVycm9yLnByb3RvdHlwZSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEludmFsaWRJZEVycm9yIGV4dGVuZHMgQml0R29TdGF0aWNzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IoY29pbk5hbWU6IHN0cmluZywgaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKGBpbnZhbGlkIHV1aWQgJyR7aWR9JyBmb3IgY29pbiAnJHtjb2luTmFtZX0nYCk7XG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIEludmFsaWRJZEVycm9yLnByb3RvdHlwZSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEludmFsaWRDb250cmFjdEFkZHJlc3NFcnJvciBleHRlbmRzIEJpdEdvU3RhdGljc0Vycm9yIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKGNvaW5OYW1lOiBzdHJpbmcsIGNvbnRyYWN0QWRkcmVzczogc3RyaW5nKSB7XG4gICAgc3VwZXIoYGludmFsaWQgY29udHJhY3QgYWRkcmVzcyAnJHtjb250cmFjdEFkZHJlc3N9JyBmb3IgY29pbiAnJHtjb2luTmFtZX0nYCk7XG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIEludmFsaWRDb250cmFjdEFkZHJlc3NFcnJvci5wcm90b3R5cGUpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJbnZhbGlkRG9tYWluRXJyb3IgZXh0ZW5kcyBCaXRHb1N0YXRpY3NFcnJvciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihjb2luTmFtZTogc3RyaW5nLCBkb21haW46IHN0cmluZykge1xuICAgIHN1cGVyKGBpbnZhbGlkIGRvbWFpbiAnJHtkb21haW59JyBmb3IgY29pbiAnJHtjb2luTmFtZX0nYCk7XG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIEludmFsaWREb21haW5FcnJvci5wcm90b3R5cGUpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDb25mbGljdGluZ0NvaW5GZWF0dXJlc0Vycm9yIGV4dGVuZHMgQml0R29TdGF0aWNzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IoY29pbk5hbWU6IHN0cmluZywgY29uZmxpY3RpbmdGZWF0dXJlczogQ29pbkZlYXR1cmVbXSkge1xuICAgIHN1cGVyKFxuICAgICAgYGNvaW4gZmVhdHVyZShzKSBmb3IgY29pbiAnJHtjb2luTmFtZX0nIGNhbm5vdCBiZSBib3RoIHJlcXVpcmVkIGFuZCBkaXNhbGxvd2VkOiAke2NvbmZsaWN0aW5nRmVhdHVyZXMuam9pbignLCAnKX1gXG4gICAgKTtcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgQ29uZmxpY3RpbmdDb2luRmVhdHVyZXNFcnJvci5wcm90b3R5cGUpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { BaseCoin, CoinFeature, KeyCurve, UnderlyingAsset } from './base';
|
|
2
|
+
import { FlareP } from './networks';
|
|
3
|
+
export interface FLRPConstructorOptions {
|
|
4
|
+
id: string;
|
|
5
|
+
fullName: string;
|
|
6
|
+
name: string;
|
|
7
|
+
network: FlareP;
|
|
8
|
+
features: CoinFeature[];
|
|
9
|
+
asset: UnderlyingAsset;
|
|
10
|
+
prefix?: string;
|
|
11
|
+
suffix?: string;
|
|
12
|
+
primaryKeyCurve: KeyCurve;
|
|
13
|
+
}
|
|
14
|
+
export declare class FLRPCoin extends BaseCoin {
|
|
15
|
+
static readonly DEFAULT_FEATURES: CoinFeature[];
|
|
16
|
+
/**
|
|
17
|
+
* Additional fields for utxo coins
|
|
18
|
+
*/
|
|
19
|
+
readonly network: FlareP;
|
|
20
|
+
constructor(options: FLRPConstructorOptions);
|
|
21
|
+
protected disallowedFeatures(): Set<CoinFeature>;
|
|
22
|
+
protected requiredFeatures(): Set<CoinFeature>;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Factory function for utxo coin instances.
|
|
26
|
+
*
|
|
27
|
+
* @param id uuid v4
|
|
28
|
+
* @param name unique identifier of the coin
|
|
29
|
+
* @param fullName Complete human-readable name of the coin
|
|
30
|
+
* @param network Network object for this coin
|
|
31
|
+
* @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
|
|
32
|
+
* @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `UtxoCoin`
|
|
33
|
+
* @param prefix? Optional coin prefix. Defaults to empty string
|
|
34
|
+
* @param suffix? Optional coin suffix. Defaults to coin name.
|
|
35
|
+
* @param primaryKeyCurve The elliptic curve for this chain/token
|
|
36
|
+
*/
|
|
37
|
+
export declare function flrp(id: string, name: string, fullName: string, network: FlareP, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string,
|
|
38
|
+
/** All UTXOs BitGo supports are SECP256K1 **/
|
|
39
|
+
primaryKeyCurve?: KeyCurve): Readonly<FLRPCoin>;
|
|
40
|
+
//# sourceMappingURL=flrp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flrp.d.ts","sourceRoot":"","sources":["../../src/flrp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAY,WAAW,EAAY,QAAQ,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9F,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,QAAQ,CAAC;CAC3B;AAED,qBAAa,QAAS,SAAQ,QAAQ;IACpC,gBAAuB,gBAAgB,gBAWrC;IAEF;;OAEG;IACH,SAAgB,OAAO,EAAE,MAAM,CAAC;gBAEpB,OAAO,EAAE,sBAAsB;IAY3C,SAAS,CAAC,kBAAkB,IAAI,GAAG,CAAC,WAAW,CAAC;IAIhD,SAAS,CAAC,gBAAgB,IAAI,GAAG,CAAC,WAAW,CAAC;CAG/C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,IAAI,CAClB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,eAAe,EACtB,QAAQ,GAAE,WAAW,EAA8B,EACnD,MAAM,SAAK,EACX,MAAM,GAAE,MAA2B;AACnC,8CAA8C;AAC9C,eAAe,GAAE,QAA6B,sBAe/C"}
|
package/dist/src/flrp.js
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FLRPCoin = void 0;
|
|
4
|
+
exports.flrp = flrp;
|
|
5
|
+
const base_1 = require("./base");
|
|
6
|
+
class FLRPCoin extends base_1.BaseCoin {
|
|
7
|
+
constructor(options) {
|
|
8
|
+
super({
|
|
9
|
+
...options,
|
|
10
|
+
kind: base_1.CoinKind.CRYPTO,
|
|
11
|
+
isToken: false,
|
|
12
|
+
decimalPlaces: 9,
|
|
13
|
+
baseUnit: base_1.BaseUnit.ETH,
|
|
14
|
+
});
|
|
15
|
+
this.network = options.network;
|
|
16
|
+
}
|
|
17
|
+
disallowedFeatures() {
|
|
18
|
+
return new Set([base_1.CoinFeature.ACCOUNT_MODEL]);
|
|
19
|
+
}
|
|
20
|
+
requiredFeatures() {
|
|
21
|
+
return new Set([base_1.CoinFeature.UNSPENT_MODEL]);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.FLRPCoin = FLRPCoin;
|
|
25
|
+
FLRPCoin.DEFAULT_FEATURES = [
|
|
26
|
+
base_1.CoinFeature.UNSPENT_MODEL,
|
|
27
|
+
base_1.CoinFeature.CUSTODY_BITGO_TRUST,
|
|
28
|
+
base_1.CoinFeature.CUSTODY_BITGO_INDIA,
|
|
29
|
+
base_1.CoinFeature.CUSTODY_BITGO_MENA_FZE,
|
|
30
|
+
base_1.CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE,
|
|
31
|
+
base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
|
|
32
|
+
base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
|
|
33
|
+
base_1.CoinFeature.MULTISIG_COLD,
|
|
34
|
+
base_1.CoinFeature.MULTISIG,
|
|
35
|
+
base_1.CoinFeature.STAKING,
|
|
36
|
+
];
|
|
37
|
+
/**
|
|
38
|
+
* Factory function for utxo coin instances.
|
|
39
|
+
*
|
|
40
|
+
* @param id uuid v4
|
|
41
|
+
* @param name unique identifier of the coin
|
|
42
|
+
* @param fullName Complete human-readable name of the coin
|
|
43
|
+
* @param network Network object for this coin
|
|
44
|
+
* @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
|
|
45
|
+
* @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `UtxoCoin`
|
|
46
|
+
* @param prefix? Optional coin prefix. Defaults to empty string
|
|
47
|
+
* @param suffix? Optional coin suffix. Defaults to coin name.
|
|
48
|
+
* @param primaryKeyCurve The elliptic curve for this chain/token
|
|
49
|
+
*/
|
|
50
|
+
function flrp(id, name, fullName, network, asset, features = FLRPCoin.DEFAULT_FEATURES, prefix = '', suffix = name.toUpperCase(),
|
|
51
|
+
/** All UTXOs BitGo supports are SECP256K1 **/
|
|
52
|
+
primaryKeyCurve = base_1.KeyCurve.Secp256k1) {
|
|
53
|
+
return Object.freeze(new FLRPCoin({
|
|
54
|
+
id,
|
|
55
|
+
name,
|
|
56
|
+
fullName,
|
|
57
|
+
network,
|
|
58
|
+
prefix,
|
|
59
|
+
suffix,
|
|
60
|
+
features,
|
|
61
|
+
asset,
|
|
62
|
+
primaryKeyCurve,
|
|
63
|
+
}));
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxycC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mbHJwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQW9FQSxvQkF5QkM7QUE3RkQsaUNBQThGO0FBZTlGLE1BQWEsUUFBUyxTQUFRLGVBQVE7SUFtQnBDLFlBQVksT0FBK0I7UUFDekMsS0FBSyxDQUFDO1lBQ0osR0FBRyxPQUFPO1lBQ1YsSUFBSSxFQUFFLGVBQVEsQ0FBQyxNQUFNO1lBQ3JCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsYUFBYSxFQUFFLENBQUM7WUFDaEIsUUFBUSxFQUFFLGVBQVEsQ0FBQyxHQUFHO1NBQ3ZCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUNqQyxDQUFDO0lBRVMsa0JBQWtCO1FBQzFCLE9BQU8sSUFBSSxHQUFHLENBQUMsQ0FBQyxrQkFBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVTLGdCQUFnQjtRQUN4QixPQUFPLElBQUksR0FBRyxDQUFDLENBQUMsa0JBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7O0FBckNILDRCQXNDQztBQXJDd0IseUJBQWdCLEdBQUc7SUFDeEMsa0JBQVcsQ0FBQyxhQUFhO0lBQ3pCLGtCQUFXLENBQUMsbUJBQW1CO0lBQy9CLGtCQUFXLENBQUMsbUJBQW1CO0lBQy9CLGtCQUFXLENBQUMsc0JBQXNCO0lBQ2xDLGtCQUFXLENBQUMsOEJBQThCO0lBQzFDLGtCQUFXLENBQUMscUJBQXFCO0lBQ2pDLGtCQUFXLENBQUMsdUJBQXVCO0lBQ25DLGtCQUFXLENBQUMsYUFBYTtJQUN6QixrQkFBVyxDQUFDLFFBQVE7SUFDcEIsa0JBQVcsQ0FBQyxPQUFPO0NBQ3BCLENBQUM7QUE0Qko7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsU0FBZ0IsSUFBSSxDQUNsQixFQUFVLEVBQ1YsSUFBWSxFQUNaLFFBQWdCLEVBQ2hCLE9BQWUsRUFDZixLQUFzQixFQUN0QixXQUEwQixRQUFRLENBQUMsZ0JBQWdCLEVBQ25ELE1BQU0sR0FBRyxFQUFFLEVBQ1gsU0FBaUIsSUFBSSxDQUFDLFdBQVcsRUFBRTtBQUNuQyw4Q0FBOEM7QUFDOUMsa0JBQTRCLGVBQVEsQ0FBQyxTQUFTO0lBRTlDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FDbEIsSUFBSSxRQUFRLENBQUM7UUFDWCxFQUFFO1FBQ0YsSUFBSTtRQUNKLFFBQVE7UUFDUixPQUFPO1FBQ1AsTUFBTTtRQUNOLE1BQU07UUFDTixRQUFRO1FBQ1IsS0FBSztRQUNMLGVBQWU7S0FDaEIsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4sIEJhc2VVbml0LCBDb2luRmVhdHVyZSwgQ29pbktpbmQsIEtleUN1cnZlLCBVbmRlcmx5aW5nQXNzZXQgfSBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IHsgRmxhcmVQIH0gZnJvbSAnLi9uZXR3b3Jrcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRkxSUENvbnN0cnVjdG9yT3B0aW9ucyB7XG4gIGlkOiBzdHJpbmc7XG4gIGZ1bGxOYW1lOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgbmV0d29yazogRmxhcmVQO1xuICBmZWF0dXJlczogQ29pbkZlYXR1cmVbXTtcbiAgYXNzZXQ6IFVuZGVybHlpbmdBc3NldDtcbiAgcHJlZml4Pzogc3RyaW5nO1xuICBzdWZmaXg/OiBzdHJpbmc7XG4gIHByaW1hcnlLZXlDdXJ2ZTogS2V5Q3VydmU7XG59XG5cbmV4cG9ydCBjbGFzcyBGTFJQQ29pbiBleHRlbmRzIEJhc2VDb2luIHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0ZFQVRVUkVTID0gW1xuICAgIENvaW5GZWF0dXJlLlVOU1BFTlRfTU9ERUwsXG4gICAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19UUlVTVCxcbiAgICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0lORElBLFxuICAgIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fTUVOQV9GWkUsXG4gICAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19DVVNUT0RZX01FTkFfRlpFLFxuICAgIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSxcbiAgICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbiAgICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICAgIENvaW5GZWF0dXJlLk1VTFRJU0lHLFxuICAgIENvaW5GZWF0dXJlLlNUQUtJTkcsXG4gIF07XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgZmllbGRzIGZvciB1dHhvIGNvaW5zXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbmV0d29yazogRmxhcmVQO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEZMUlBDb25zdHJ1Y3Rvck9wdGlvbnMpIHtcbiAgICBzdXBlcih7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAga2luZDogQ29pbktpbmQuQ1JZUFRPLFxuICAgICAgaXNUb2tlbjogZmFsc2UsXG4gICAgICBkZWNpbWFsUGxhY2VzOiA5LFxuICAgICAgYmFzZVVuaXQ6IEJhc2VVbml0LkVUSCxcbiAgICB9KTtcblxuICAgIHRoaXMubmV0d29yayA9IG9wdGlvbnMubmV0d29yaztcbiAgfVxuXG4gIHByb3RlY3RlZCBkaXNhbGxvd2VkRmVhdHVyZXMoKTogU2V0PENvaW5GZWF0dXJlPiB7XG4gICAgcmV0dXJuIG5ldyBTZXQoW0NvaW5GZWF0dXJlLkFDQ09VTlRfTU9ERUxdKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZXF1aXJlZEZlYXR1cmVzKCk6IFNldDxDb2luRmVhdHVyZT4ge1xuICAgIHJldHVybiBuZXcgU2V0KFtDb2luRmVhdHVyZS5VTlNQRU5UX01PREVMXSk7XG4gIH1cbn1cblxuLyoqXG4gKiBGYWN0b3J5IGZ1bmN0aW9uIGZvciB1dHhvIGNvaW4gaW5zdGFuY2VzLlxuICpcbiAqIEBwYXJhbSBpZCB1dWlkIHY0XG4gKiBAcGFyYW0gbmFtZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgY29pblxuICogQHBhcmFtIGZ1bGxOYW1lIENvbXBsZXRlIGh1bWFuLXJlYWRhYmxlIG5hbWUgb2YgdGhlIGNvaW5cbiAqIEBwYXJhbSBuZXR3b3JrIE5ldHdvcmsgb2JqZWN0IGZvciB0aGlzIGNvaW5cbiAqIEBwYXJhbSBhc3NldCBBc3NldCB3aGljaCB0aGlzIGNvaW4gcmVwcmVzZW50cy4gVGhpcyBpcyB0aGUgc2FtZSBmb3IgYm90aCBtYWlubmV0IGFuZCB0ZXN0bmV0IHZhcmlhbnRzIG9mIGEgY29pbi5cbiAqIEBwYXJhbSBmZWF0dXJlcz8gRmVhdHVyZXMgb2YgdGhpcyBjb2luLiBEZWZhdWx0cyB0byB0aGUgREVGQVVMVF9GRUFUVVJFUyBkZWZpbmVkIGluIGBVdHhvQ29pbmBcbiAqIEBwYXJhbSBwcmVmaXg/IE9wdGlvbmFsIGNvaW4gcHJlZml4LiBEZWZhdWx0cyB0byBlbXB0eSBzdHJpbmdcbiAqIEBwYXJhbSBzdWZmaXg/IE9wdGlvbmFsIGNvaW4gc3VmZml4LiBEZWZhdWx0cyB0byBjb2luIG5hbWUuXG4gKiBAcGFyYW0gcHJpbWFyeUtleUN1cnZlIFRoZSBlbGxpcHRpYyBjdXJ2ZSBmb3IgdGhpcyBjaGFpbi90b2tlblxuICovXG5leHBvcnQgZnVuY3Rpb24gZmxycChcbiAgaWQ6IHN0cmluZyxcbiAgbmFtZTogc3RyaW5nLFxuICBmdWxsTmFtZTogc3RyaW5nLFxuICBuZXR3b3JrOiBGbGFyZVAsXG4gIGFzc2V0OiBVbmRlcmx5aW5nQXNzZXQsXG4gIGZlYXR1cmVzOiBDb2luRmVhdHVyZVtdID0gRkxSUENvaW4uREVGQVVMVF9GRUFUVVJFUyxcbiAgcHJlZml4ID0gJycsXG4gIHN1ZmZpeDogc3RyaW5nID0gbmFtZS50b1VwcGVyQ2FzZSgpLFxuICAvKiogQWxsIFVUWE9zIEJpdEdvIHN1cHBvcnRzIGFyZSBTRUNQMjU2SzEgKiovXG4gIHByaW1hcnlLZXlDdXJ2ZTogS2V5Q3VydmUgPSBLZXlDdXJ2ZS5TZWNwMjU2azFcbikge1xuICByZXR1cm4gT2JqZWN0LmZyZWV6ZShcbiAgICBuZXcgRkxSUENvaW4oe1xuICAgICAgaWQsXG4gICAgICBuYW1lLFxuICAgICAgZnVsbE5hbWUsXG4gICAgICBuZXR3b3JrLFxuICAgICAgcHJlZml4LFxuICAgICAgc3VmZml4LFxuICAgICAgZmVhdHVyZXMsXG4gICAgICBhc3NldCxcbiAgICAgIHByaW1hcnlLZXlDdXJ2ZSxcbiAgICB9KVxuICApO1xufVxuIl19
|
package/dist/src/index.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export * from './errors';
|
|
|
5
5
|
export * from './tokenConfig';
|
|
6
6
|
export { OfcCoin } from './ofc';
|
|
7
7
|
export { UtxoCoin } from './utxo';
|
|
8
|
-
export {
|
|
8
|
+
export { LightningCoin } from './lightning';
|
|
9
|
+
export { AccountCoin, GasTankAccountCoin, CeloCoin, ContractAddressDefinedToken, Erc20Coin, StellarCoin, EosCoin, AlgoCoin, AvaxERC20Token, NFTCollectionIdDefinedToken, SolCoin, HederaToken, TronErc20Coin, SuiCoin, TaoCoin, PolyxCoin, XrpCoin, AptCoin, AptNFTCollection, Sip10Token, Nep141Token, VetToken, VetNFTCollection, CosmosChainToken, AdaToken, JettonToken, } from './account';
|
|
9
10
|
export { CoinMap } from './map';
|
|
11
|
+
export { networkFeatureMapForTokens } from './networkFeatureMapForTokens';
|
|
10
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EACL,WAAW,EACX,QAAQ,EACR,2BAA2B,EAC3B,SAAS,EACT,WAAW,EACX,OAAO,EACP,QAAQ,EACR,cAAc,EACd,OAAO,EACP,WAAW,GACZ,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,QAAQ,EACR,2BAA2B,EAC3B,SAAS,EACT,WAAW,EACX,OAAO,EACP,QAAQ,EACR,cAAc,EACd,2BAA2B,EAC3B,OAAO,EACP,WAAW,EACX,aAAa,EACb,OAAO,EACP,OAAO,EACP,SAAS,EACT,OAAO,EACP,OAAO,EACP,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,WAAW,GACZ,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -10,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
10
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
15
|
};
|
|
12
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.CoinMap = exports.HederaToken = exports.SolCoin = exports.AvaxERC20Token = exports.AlgoCoin = exports.EosCoin = exports.StellarCoin = exports.Erc20Coin = exports.ContractAddressDefinedToken = exports.CeloCoin = exports.AccountCoin = exports.UtxoCoin = exports.OfcCoin = void 0;
|
|
17
|
+
exports.networkFeatureMapForTokens = exports.CoinMap = exports.JettonToken = exports.AdaToken = exports.CosmosChainToken = exports.VetNFTCollection = exports.VetToken = exports.Nep141Token = exports.Sip10Token = exports.AptNFTCollection = exports.AptCoin = exports.XrpCoin = exports.PolyxCoin = exports.TaoCoin = exports.SuiCoin = exports.TronErc20Coin = exports.HederaToken = exports.SolCoin = exports.NFTCollectionIdDefinedToken = exports.AvaxERC20Token = exports.AlgoCoin = exports.EosCoin = exports.StellarCoin = exports.Erc20Coin = exports.ContractAddressDefinedToken = exports.CeloCoin = exports.GasTankAccountCoin = exports.AccountCoin = exports.LightningCoin = exports.UtxoCoin = exports.OfcCoin = void 0;
|
|
14
18
|
__exportStar(require("./base"), exports);
|
|
15
19
|
__exportStar(require("./coins"), exports);
|
|
16
20
|
__exportStar(require("./networks"), exports);
|
|
@@ -20,8 +24,11 @@ var ofc_1 = require("./ofc");
|
|
|
20
24
|
Object.defineProperty(exports, "OfcCoin", { enumerable: true, get: function () { return ofc_1.OfcCoin; } });
|
|
21
25
|
var utxo_1 = require("./utxo");
|
|
22
26
|
Object.defineProperty(exports, "UtxoCoin", { enumerable: true, get: function () { return utxo_1.UtxoCoin; } });
|
|
27
|
+
var lightning_1 = require("./lightning");
|
|
28
|
+
Object.defineProperty(exports, "LightningCoin", { enumerable: true, get: function () { return lightning_1.LightningCoin; } });
|
|
23
29
|
var account_1 = require("./account");
|
|
24
30
|
Object.defineProperty(exports, "AccountCoin", { enumerable: true, get: function () { return account_1.AccountCoin; } });
|
|
31
|
+
Object.defineProperty(exports, "GasTankAccountCoin", { enumerable: true, get: function () { return account_1.GasTankAccountCoin; } });
|
|
25
32
|
Object.defineProperty(exports, "CeloCoin", { enumerable: true, get: function () { return account_1.CeloCoin; } });
|
|
26
33
|
Object.defineProperty(exports, "ContractAddressDefinedToken", { enumerable: true, get: function () { return account_1.ContractAddressDefinedToken; } });
|
|
27
34
|
Object.defineProperty(exports, "Erc20Coin", { enumerable: true, get: function () { return account_1.Erc20Coin; } });
|
|
@@ -29,8 +36,25 @@ Object.defineProperty(exports, "StellarCoin", { enumerable: true, get: function
|
|
|
29
36
|
Object.defineProperty(exports, "EosCoin", { enumerable: true, get: function () { return account_1.EosCoin; } });
|
|
30
37
|
Object.defineProperty(exports, "AlgoCoin", { enumerable: true, get: function () { return account_1.AlgoCoin; } });
|
|
31
38
|
Object.defineProperty(exports, "AvaxERC20Token", { enumerable: true, get: function () { return account_1.AvaxERC20Token; } });
|
|
39
|
+
Object.defineProperty(exports, "NFTCollectionIdDefinedToken", { enumerable: true, get: function () { return account_1.NFTCollectionIdDefinedToken; } });
|
|
32
40
|
Object.defineProperty(exports, "SolCoin", { enumerable: true, get: function () { return account_1.SolCoin; } });
|
|
33
41
|
Object.defineProperty(exports, "HederaToken", { enumerable: true, get: function () { return account_1.HederaToken; } });
|
|
42
|
+
Object.defineProperty(exports, "TronErc20Coin", { enumerable: true, get: function () { return account_1.TronErc20Coin; } });
|
|
43
|
+
Object.defineProperty(exports, "SuiCoin", { enumerable: true, get: function () { return account_1.SuiCoin; } });
|
|
44
|
+
Object.defineProperty(exports, "TaoCoin", { enumerable: true, get: function () { return account_1.TaoCoin; } });
|
|
45
|
+
Object.defineProperty(exports, "PolyxCoin", { enumerable: true, get: function () { return account_1.PolyxCoin; } });
|
|
46
|
+
Object.defineProperty(exports, "XrpCoin", { enumerable: true, get: function () { return account_1.XrpCoin; } });
|
|
47
|
+
Object.defineProperty(exports, "AptCoin", { enumerable: true, get: function () { return account_1.AptCoin; } });
|
|
48
|
+
Object.defineProperty(exports, "AptNFTCollection", { enumerable: true, get: function () { return account_1.AptNFTCollection; } });
|
|
49
|
+
Object.defineProperty(exports, "Sip10Token", { enumerable: true, get: function () { return account_1.Sip10Token; } });
|
|
50
|
+
Object.defineProperty(exports, "Nep141Token", { enumerable: true, get: function () { return account_1.Nep141Token; } });
|
|
51
|
+
Object.defineProperty(exports, "VetToken", { enumerable: true, get: function () { return account_1.VetToken; } });
|
|
52
|
+
Object.defineProperty(exports, "VetNFTCollection", { enumerable: true, get: function () { return account_1.VetNFTCollection; } });
|
|
53
|
+
Object.defineProperty(exports, "CosmosChainToken", { enumerable: true, get: function () { return account_1.CosmosChainToken; } });
|
|
54
|
+
Object.defineProperty(exports, "AdaToken", { enumerable: true, get: function () { return account_1.AdaToken; } });
|
|
55
|
+
Object.defineProperty(exports, "JettonToken", { enumerable: true, get: function () { return account_1.JettonToken; } });
|
|
34
56
|
var map_1 = require("./map");
|
|
35
57
|
Object.defineProperty(exports, "CoinMap", { enumerable: true, get: function () { return map_1.CoinMap; } });
|
|
36
|
-
|
|
58
|
+
var networkFeatureMapForTokens_1 = require("./networkFeatureMapForTokens");
|
|
59
|
+
Object.defineProperty(exports, "networkFeatureMapForTokens", { enumerable: true, get: function () { return networkFeatureMapForTokens_1.networkFeatureMapForTokens; } });
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5Q0FBdUI7QUFDdkIsMENBQXdCO0FBQ3hCLDZDQUEyQjtBQUMzQiwyQ0FBeUI7QUFDekIsZ0RBQThCO0FBQzlCLDZCQUFnQztBQUF2Qiw4RkFBQSxPQUFPLE9BQUE7QUFDaEIsK0JBQWtDO0FBQXpCLGdHQUFBLFFBQVEsT0FBQTtBQUNqQix5Q0FBNEM7QUFBbkMsMEdBQUEsYUFBYSxPQUFBO0FBQ3RCLHFDQTJCbUI7QUExQmpCLHNHQUFBLFdBQVcsT0FBQTtBQUNYLDZHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLG1HQUFBLFFBQVEsT0FBQTtBQUNSLHNIQUFBLDJCQUEyQixPQUFBO0FBQzNCLG9HQUFBLFNBQVMsT0FBQTtBQUNULHNHQUFBLFdBQVcsT0FBQTtBQUNYLGtHQUFBLE9BQU8sT0FBQTtBQUNQLG1HQUFBLFFBQVEsT0FBQTtBQUNSLHlHQUFBLGNBQWMsT0FBQTtBQUNkLHNIQUFBLDJCQUEyQixPQUFBO0FBQzNCLGtHQUFBLE9BQU8sT0FBQTtBQUNQLHNHQUFBLFdBQVcsT0FBQTtBQUNYLHdHQUFBLGFBQWEsT0FBQTtBQUNiLGtHQUFBLE9BQU8sT0FBQTtBQUNQLGtHQUFBLE9BQU8sT0FBQTtBQUNQLG9HQUFBLFNBQVMsT0FBQTtBQUNULGtHQUFBLE9BQU8sT0FBQTtBQUNQLGtHQUFBLE9BQU8sT0FBQTtBQUNQLDJHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLHFHQUFBLFVBQVUsT0FBQTtBQUNWLHNHQUFBLFdBQVcsT0FBQTtBQUNYLG1HQUFBLFFBQVEsT0FBQTtBQUNSLDJHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDJHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLG1HQUFBLFFBQVEsT0FBQTtBQUNSLHNHQUFBLFdBQVcsT0FBQTtBQUViLDZCQUFnQztBQUF2Qiw4RkFBQSxPQUFPLE9BQUE7QUFDaEIsMkVBQTBFO0FBQWpFLHdJQUFBLDBCQUEwQixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29pbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9uZXR3b3Jrcyc7XG5leHBvcnQgKiBmcm9tICcuL2Vycm9ycyc7XG5leHBvcnQgKiBmcm9tICcuL3Rva2VuQ29uZmlnJztcbmV4cG9ydCB7IE9mY0NvaW4gfSBmcm9tICcuL29mYyc7XG5leHBvcnQgeyBVdHhvQ29pbiB9IGZyb20gJy4vdXR4byc7XG5leHBvcnQgeyBMaWdodG5pbmdDb2luIH0gZnJvbSAnLi9saWdodG5pbmcnO1xuZXhwb3J0IHtcbiAgQWNjb3VudENvaW4sXG4gIEdhc1RhbmtBY2NvdW50Q29pbixcbiAgQ2Vsb0NvaW4sXG4gIENvbnRyYWN0QWRkcmVzc0RlZmluZWRUb2tlbixcbiAgRXJjMjBDb2luLFxuICBTdGVsbGFyQ29pbixcbiAgRW9zQ29pbixcbiAgQWxnb0NvaW4sXG4gIEF2YXhFUkMyMFRva2VuLFxuICBORlRDb2xsZWN0aW9uSWREZWZpbmVkVG9rZW4sXG4gIFNvbENvaW4sXG4gIEhlZGVyYVRva2VuLFxuICBUcm9uRXJjMjBDb2luLFxuICBTdWlDb2luLFxuICBUYW9Db2luLFxuICBQb2x5eENvaW4sXG4gIFhycENvaW4sXG4gIEFwdENvaW4sXG4gIEFwdE5GVENvbGxlY3Rpb24sXG4gIFNpcDEwVG9rZW4sXG4gIE5lcDE0MVRva2VuLFxuICBWZXRUb2tlbixcbiAgVmV0TkZUQ29sbGVjdGlvbixcbiAgQ29zbW9zQ2hhaW5Ub2tlbixcbiAgQWRhVG9rZW4sXG4gIEpldHRvblRva2VuLFxufSBmcm9tICcuL2FjY291bnQnO1xuZXhwb3J0IHsgQ29pbk1hcCB9IGZyb20gJy4vbWFwJztcbmV4cG9ydCB7IG5ldHdvcmtGZWF0dXJlTWFwRm9yVG9rZW5zIH0gZnJvbSAnLi9uZXR3b3JrRmVhdHVyZU1hcEZvclRva2Vucyc7XG4iXX0=
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { BaseCoin, BaseUnit, CoinFeature, KeyCurve, UnderlyingAsset } from './base';
|
|
2
|
+
import { LightningNetwork } from './networks';
|
|
3
|
+
interface LightningConstructorOptions {
|
|
4
|
+
id: string;
|
|
5
|
+
fullName: string;
|
|
6
|
+
name: string;
|
|
7
|
+
network: LightningNetwork;
|
|
8
|
+
features: CoinFeature[];
|
|
9
|
+
asset: UnderlyingAsset;
|
|
10
|
+
baseUnit: BaseUnit;
|
|
11
|
+
prefix?: string;
|
|
12
|
+
suffix?: string;
|
|
13
|
+
primaryKeyCurve: KeyCurve;
|
|
14
|
+
}
|
|
15
|
+
export declare class LightningCoin extends BaseCoin {
|
|
16
|
+
static readonly DEFAULT_FEATURES: CoinFeature[];
|
|
17
|
+
/**
|
|
18
|
+
* Additional fields for lightning coins
|
|
19
|
+
*/
|
|
20
|
+
readonly network: LightningNetwork;
|
|
21
|
+
constructor(options: LightningConstructorOptions);
|
|
22
|
+
protected disallowedFeatures(): Set<CoinFeature>;
|
|
23
|
+
protected requiredFeatures(): Set<CoinFeature>;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Factory function for lightning coin instances.
|
|
27
|
+
*
|
|
28
|
+
* @param id uuid v4 of the coin
|
|
29
|
+
* @param name unique identifier of the coin
|
|
30
|
+
* @param fullName Complete human-readable name of the coin
|
|
31
|
+
* @param network Network object for this coin
|
|
32
|
+
* @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
|
|
33
|
+
* @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `LightningCoin`
|
|
34
|
+
* @param prefix? Optional coin prefix. Defaults to empty string
|
|
35
|
+
* @param suffix? Optional coin suffix. Defaults to coin name.
|
|
36
|
+
* @param primaryKeyCurve The elliptic curve for this chain/token
|
|
37
|
+
*/
|
|
38
|
+
export declare function lightning(id: string, name: string, fullName: string, network: LightningNetwork, asset: UnderlyingAsset, baseUnit: BaseUnit, features?: CoinFeature[], prefix?: string, suffix?: string,
|
|
39
|
+
/** All Lightnings BitGo supports are SECP256K1 **/
|
|
40
|
+
primaryKeyCurve?: KeyCurve): Readonly<LightningCoin>;
|
|
41
|
+
export declare const lightningCoins: Readonly<BaseCoin>[];
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=lightning.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lightning.d.ts","sourceRoot":"","sources":["../../src/lightning.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAY,QAAQ,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAY,MAAM,YAAY,CAAC;AAExD,UAAU,2BAA2B;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,eAAe,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,QAAQ,CAAC;CAC3B;AAED,qBAAa,aAAc,SAAQ,QAAQ;IACzC,gBAAuB,gBAAgB,gBAAiC;IAExE;;OAEG;IACH,SAAgB,OAAO,EAAE,gBAAgB,CAAC;gBAE9B,OAAO,EAAE,2BAA2B;IAWhD,SAAS,CAAC,kBAAkB,IAAI,GAAG,CAAC,WAAW,CAAC;IAIhD,SAAS,CAAC,gBAAgB,IAAI,GAAG,CAAC,WAAW,CAAC;CAG/C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CACvB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,GAAE,WAAW,EAAmC,EACxD,MAAM,SAAK,EACX,MAAM,GAAE,MAA2B;AACnC,mDAAmD;AACnD,eAAe,GAAE,QAA6B,2BAgB/C;AAID,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAmB9C,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.lightningCoins = exports.LightningCoin = void 0;
|
|
4
|
+
exports.lightning = lightning;
|
|
5
|
+
const base_1 = require("./base");
|
|
6
|
+
const networks_1 = require("./networks");
|
|
7
|
+
class LightningCoin extends base_1.BaseCoin {
|
|
8
|
+
constructor(options) {
|
|
9
|
+
super({
|
|
10
|
+
...options,
|
|
11
|
+
kind: base_1.CoinKind.CRYPTO,
|
|
12
|
+
isToken: false,
|
|
13
|
+
decimalPlaces: 11,
|
|
14
|
+
});
|
|
15
|
+
this.network = options.network;
|
|
16
|
+
}
|
|
17
|
+
disallowedFeatures() {
|
|
18
|
+
return new Set([base_1.CoinFeature.ACCOUNT_MODEL]);
|
|
19
|
+
}
|
|
20
|
+
requiredFeatures() {
|
|
21
|
+
return new Set([base_1.CoinFeature.LIGHTNING_MODEL]);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.LightningCoin = LightningCoin;
|
|
25
|
+
LightningCoin.DEFAULT_FEATURES = [base_1.CoinFeature.LIGHTNING_MODEL];
|
|
26
|
+
/**
|
|
27
|
+
* Factory function for lightning coin instances.
|
|
28
|
+
*
|
|
29
|
+
* @param id uuid v4 of the coin
|
|
30
|
+
* @param name unique identifier of the coin
|
|
31
|
+
* @param fullName Complete human-readable name of the coin
|
|
32
|
+
* @param network Network object for this coin
|
|
33
|
+
* @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
|
|
34
|
+
* @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `LightningCoin`
|
|
35
|
+
* @param prefix? Optional coin prefix. Defaults to empty string
|
|
36
|
+
* @param suffix? Optional coin suffix. Defaults to coin name.
|
|
37
|
+
* @param primaryKeyCurve The elliptic curve for this chain/token
|
|
38
|
+
*/
|
|
39
|
+
function lightning(id, name, fullName, network, asset, baseUnit, features = LightningCoin.DEFAULT_FEATURES, prefix = '', suffix = name.toUpperCase(),
|
|
40
|
+
/** All Lightnings BitGo supports are SECP256K1 **/
|
|
41
|
+
primaryKeyCurve = base_1.KeyCurve.Secp256k1) {
|
|
42
|
+
return Object.freeze(new LightningCoin({
|
|
43
|
+
id,
|
|
44
|
+
name,
|
|
45
|
+
fullName,
|
|
46
|
+
network,
|
|
47
|
+
prefix,
|
|
48
|
+
suffix,
|
|
49
|
+
features,
|
|
50
|
+
asset,
|
|
51
|
+
primaryKeyCurve,
|
|
52
|
+
baseUnit,
|
|
53
|
+
}));
|
|
54
|
+
}
|
|
55
|
+
const LNBTC_FEATURES = [...LightningCoin.DEFAULT_FEATURES];
|
|
56
|
+
exports.lightningCoins = [
|
|
57
|
+
lightning('051aab40-efbc-4f58-9506-14cc95369e0a', 'lnbtc', 'Lightning Bitcoin', networks_1.Networks.main.lnbtc, base_1.UnderlyingAsset.LNBTC, base_1.BaseUnit.LNBTC, LNBTC_FEATURES),
|
|
58
|
+
lightning('3cbabaa7-a063-4db3-b3a8-ea8cc38033e5', 'tlnbtc', 'Testnet Lightning Bitcoin', networks_1.Networks.test.lnbtc, base_1.UnderlyingAsset.LNBTC, base_1.BaseUnit.LNBTC, LNBTC_FEATURES),
|
|
59
|
+
];
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRuaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpZ2h0bmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF5REEsOEJBMkJDO0FBcEZELGlDQUE4RjtBQUM5Rix5Q0FBd0Q7QUFleEQsTUFBYSxhQUFjLFNBQVEsZUFBUTtJQVF6QyxZQUFZLE9BQW9DO1FBQzlDLEtBQUssQ0FBQztZQUNKLEdBQUcsT0FBTztZQUNWLElBQUksRUFBRSxlQUFRLENBQUMsTUFBTTtZQUNyQixPQUFPLEVBQUUsS0FBSztZQUNkLGFBQWEsRUFBRSxFQUFFO1NBQ2xCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUNqQyxDQUFDO0lBRVMsa0JBQWtCO1FBQzFCLE9BQU8sSUFBSSxHQUFHLENBQUMsQ0FBQyxrQkFBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVTLGdCQUFnQjtRQUN4QixPQUFPLElBQUksR0FBRyxDQUFDLENBQUMsa0JBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7O0FBekJILHNDQTBCQztBQXpCd0IsOEJBQWdCLEdBQUcsQ0FBQyxrQkFBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBMkIxRTs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxTQUFnQixTQUFTLENBQ3ZCLEVBQVUsRUFDVixJQUFZLEVBQ1osUUFBZ0IsRUFDaEIsT0FBeUIsRUFDekIsS0FBc0IsRUFDdEIsUUFBa0IsRUFDbEIsV0FBMEIsYUFBYSxDQUFDLGdCQUFnQixFQUN4RCxNQUFNLEdBQUcsRUFBRSxFQUNYLFNBQWlCLElBQUksQ0FBQyxXQUFXLEVBQUU7QUFDbkMsbURBQW1EO0FBQ25ELGtCQUE0QixlQUFRLENBQUMsU0FBUztJQUU5QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQ2xCLElBQUksYUFBYSxDQUFDO1FBQ2hCLEVBQUU7UUFDRixJQUFJO1FBQ0osUUFBUTtRQUNSLE9BQU87UUFDUCxNQUFNO1FBQ04sTUFBTTtRQUNOLFFBQVE7UUFDUixLQUFLO1FBQ0wsZUFBZTtRQUNmLFFBQVE7S0FDVCxDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLGNBQWMsR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFFOUMsUUFBQSxjQUFjLEdBQXlCO0lBQ2xELFNBQVMsQ0FDUCxzQ0FBc0MsRUFDdEMsT0FBTyxFQUNQLG1CQUFtQixFQUNuQixtQkFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQ25CLHNCQUFlLENBQUMsS0FBSyxFQUNyQixlQUFRLENBQUMsS0FBSyxFQUNkLGNBQWMsQ0FDZjtJQUNELFNBQVMsQ0FDUCxzQ0FBc0MsRUFDdEMsUUFBUSxFQUNSLDJCQUEyQixFQUMzQixtQkFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQ25CLHNCQUFlLENBQUMsS0FBSyxFQUNyQixlQUFRLENBQUMsS0FBSyxFQUNkLGNBQWMsQ0FDZjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiwgQmFzZVVuaXQsIENvaW5GZWF0dXJlLCBDb2luS2luZCwgS2V5Q3VydmUsIFVuZGVybHlpbmdBc3NldCB9IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQgeyBMaWdodG5pbmdOZXR3b3JrLCBOZXR3b3JrcyB9IGZyb20gJy4vbmV0d29ya3MnO1xuXG5pbnRlcmZhY2UgTGlnaHRuaW5nQ29uc3RydWN0b3JPcHRpb25zIHtcbiAgaWQ6IHN0cmluZztcbiAgZnVsbE5hbWU6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBuZXR3b3JrOiBMaWdodG5pbmdOZXR3b3JrO1xuICBmZWF0dXJlczogQ29pbkZlYXR1cmVbXTtcbiAgYXNzZXQ6IFVuZGVybHlpbmdBc3NldDtcbiAgYmFzZVVuaXQ6IEJhc2VVbml0O1xuICBwcmVmaXg/OiBzdHJpbmc7XG4gIHN1ZmZpeD86IHN0cmluZztcbiAgcHJpbWFyeUtleUN1cnZlOiBLZXlDdXJ2ZTtcbn1cblxuZXhwb3J0IGNsYXNzIExpZ2h0bmluZ0NvaW4gZXh0ZW5kcyBCYXNlQ29pbiB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9GRUFUVVJFUyA9IFtDb2luRmVhdHVyZS5MSUdIVE5JTkdfTU9ERUxdO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGZpZWxkcyBmb3IgbGlnaHRuaW5nIGNvaW5zXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbmV0d29yazogTGlnaHRuaW5nTmV0d29yaztcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBMaWdodG5pbmdDb25zdHJ1Y3Rvck9wdGlvbnMpIHtcbiAgICBzdXBlcih7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAga2luZDogQ29pbktpbmQuQ1JZUFRPLFxuICAgICAgaXNUb2tlbjogZmFsc2UsXG4gICAgICBkZWNpbWFsUGxhY2VzOiAxMSxcbiAgICB9KTtcblxuICAgIHRoaXMubmV0d29yayA9IG9wdGlvbnMubmV0d29yaztcbiAgfVxuXG4gIHByb3RlY3RlZCBkaXNhbGxvd2VkRmVhdHVyZXMoKTogU2V0PENvaW5GZWF0dXJlPiB7XG4gICAgcmV0dXJuIG5ldyBTZXQoW0NvaW5GZWF0dXJlLkFDQ09VTlRfTU9ERUxdKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZXF1aXJlZEZlYXR1cmVzKCk6IFNldDxDb2luRmVhdHVyZT4ge1xuICAgIHJldHVybiBuZXcgU2V0KFtDb2luRmVhdHVyZS5MSUdIVE5JTkdfTU9ERUxdKTtcbiAgfVxufVxuXG4vKipcbiAqIEZhY3RvcnkgZnVuY3Rpb24gZm9yIGxpZ2h0bmluZyBjb2luIGluc3RhbmNlcy5cbiAqXG4gKiBAcGFyYW0gaWQgdXVpZCB2NCBvZiB0aGUgY29pblxuICogQHBhcmFtIG5hbWUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGNvaW5cbiAqIEBwYXJhbSBmdWxsTmFtZSBDb21wbGV0ZSBodW1hbi1yZWFkYWJsZSBuYW1lIG9mIHRoZSBjb2luXG4gKiBAcGFyYW0gbmV0d29yayBOZXR3b3JrIG9iamVjdCBmb3IgdGhpcyBjb2luXG4gKiBAcGFyYW0gYXNzZXQgQXNzZXQgd2hpY2ggdGhpcyBjb2luIHJlcHJlc2VudHMuIFRoaXMgaXMgdGhlIHNhbWUgZm9yIGJvdGggbWFpbm5ldCBhbmQgdGVzdG5ldCB2YXJpYW50cyBvZiBhIGNvaW4uXG4gKiBAcGFyYW0gZmVhdHVyZXM/IEZlYXR1cmVzIG9mIHRoaXMgY29pbi4gRGVmYXVsdHMgdG8gdGhlIERFRkFVTFRfRkVBVFVSRVMgZGVmaW5lZCBpbiBgTGlnaHRuaW5nQ29pbmBcbiAqIEBwYXJhbSBwcmVmaXg/IE9wdGlvbmFsIGNvaW4gcHJlZml4LiBEZWZhdWx0cyB0byBlbXB0eSBzdHJpbmdcbiAqIEBwYXJhbSBzdWZmaXg/IE9wdGlvbmFsIGNvaW4gc3VmZml4LiBEZWZhdWx0cyB0byBjb2luIG5hbWUuXG4gKiBAcGFyYW0gcHJpbWFyeUtleUN1cnZlIFRoZSBlbGxpcHRpYyBjdXJ2ZSBmb3IgdGhpcyBjaGFpbi90b2tlblxuICovXG5leHBvcnQgZnVuY3Rpb24gbGlnaHRuaW5nKFxuICBpZDogc3RyaW5nLFxuICBuYW1lOiBzdHJpbmcsXG4gIGZ1bGxOYW1lOiBzdHJpbmcsXG4gIG5ldHdvcms6IExpZ2h0bmluZ05ldHdvcmssXG4gIGFzc2V0OiBVbmRlcmx5aW5nQXNzZXQsXG4gIGJhc2VVbml0OiBCYXNlVW5pdCxcbiAgZmVhdHVyZXM6IENvaW5GZWF0dXJlW10gPSBMaWdodG5pbmdDb2luLkRFRkFVTFRfRkVBVFVSRVMsXG4gIHByZWZpeCA9ICcnLFxuICBzdWZmaXg6IHN0cmluZyA9IG5hbWUudG9VcHBlckNhc2UoKSxcbiAgLyoqIEFsbCBMaWdodG5pbmdzIEJpdEdvIHN1cHBvcnRzIGFyZSBTRUNQMjU2SzEgKiovXG4gIHByaW1hcnlLZXlDdXJ2ZTogS2V5Q3VydmUgPSBLZXlDdXJ2ZS5TZWNwMjU2azFcbikge1xuICByZXR1cm4gT2JqZWN0LmZyZWV6ZShcbiAgICBuZXcgTGlnaHRuaW5nQ29pbih7XG4gICAgICBpZCxcbiAgICAgIG5hbWUsXG4gICAgICBmdWxsTmFtZSxcbiAgICAgIG5ldHdvcmssXG4gICAgICBwcmVmaXgsXG4gICAgICBzdWZmaXgsXG4gICAgICBmZWF0dXJlcyxcbiAgICAgIGFzc2V0LFxuICAgICAgcHJpbWFyeUtleUN1cnZlLFxuICAgICAgYmFzZVVuaXQsXG4gICAgfSlcbiAgKTtcbn1cblxuY29uc3QgTE5CVENfRkVBVFVSRVMgPSBbLi4uTGlnaHRuaW5nQ29pbi5ERUZBVUxUX0ZFQVRVUkVTXTtcblxuZXhwb3J0IGNvbnN0IGxpZ2h0bmluZ0NvaW5zOiBSZWFkb25seTxCYXNlQ29pbj5bXSA9IFtcbiAgbGlnaHRuaW5nKFxuICAgICcwNTFhYWI0MC1lZmJjLTRmNTgtOTUwNi0xNGNjOTUzNjllMGEnLFxuICAgICdsbmJ0YycsXG4gICAgJ0xpZ2h0bmluZyBCaXRjb2luJyxcbiAgICBOZXR3b3Jrcy5tYWluLmxuYnRjLFxuICAgIFVuZGVybHlpbmdBc3NldC5MTkJUQyxcbiAgICBCYXNlVW5pdC5MTkJUQyxcbiAgICBMTkJUQ19GRUFUVVJFU1xuICApLFxuICBsaWdodG5pbmcoXG4gICAgJzNjYmFiYWE3LWEwNjMtNGRiMy1iM2E4LWVhOGNjMzgwMzNlNScsXG4gICAgJ3RsbmJ0YycsXG4gICAgJ1Rlc3RuZXQgTGlnaHRuaW5nIEJpdGNvaW4nLFxuICAgIE5ldHdvcmtzLnRlc3QubG5idGMsXG4gICAgVW5kZXJseWluZ0Fzc2V0LkxOQlRDLFxuICAgIEJhc2VVbml0LkxOQlRDLFxuICAgIExOQlRDX0ZFQVRVUkVTXG4gICksXG5dO1xuIl19
|
package/dist/src/map.d.ts
CHANGED
|
@@ -1,9 +1,20 @@
|
|
|
1
1
|
import { BaseCoin } from './base';
|
|
2
2
|
export declare class CoinMap {
|
|
3
3
|
private readonly _map;
|
|
4
|
+
private readonly _coinByIds;
|
|
4
5
|
private readonly _coinByAliases;
|
|
6
|
+
private readonly _coinByContractAddress;
|
|
7
|
+
private readonly _coinByNftCollectionID;
|
|
5
8
|
private constructor();
|
|
6
9
|
static fromCoins(coins: Readonly<BaseCoin>[]): CoinMap;
|
|
10
|
+
addCoin(coin: Readonly<BaseCoin>): void;
|
|
11
|
+
/**
|
|
12
|
+
* Replace a Base coin object completely from the CoinMap using its ID.
|
|
13
|
+
* @param {string} key key to search the old coin object
|
|
14
|
+
* @param {Readonly<BaseCoin>} coin new coin object
|
|
15
|
+
*/
|
|
16
|
+
replace(coin: Readonly<BaseCoin>): void;
|
|
17
|
+
static coinNameFromChainId(chainId: number): string;
|
|
7
18
|
/**
|
|
8
19
|
* Override `get` to throw if a coin is missing, instead of returning undefined.
|
|
9
20
|
* It will honor key equivalences in case given key is missing.
|
package/dist/src/map.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAIlC,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyC;IAC9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyC;IAEpE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyC;IAGxE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyC;IAEhF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyC;IAEhF,OAAO;IAIP,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO;IAQ/C,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI;IA0B9C;;;;OAIG;IACI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI;IAmB9C,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAoDnD;;;;;OAKG;IACI,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAepC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAUzB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE;IAQtE,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC;IAQjG,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO;IAUnF,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAI7E,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;CAG3E"}
|