@waiaas/daemon 2.8.0-rc.1 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -5
- package/dist/api/middleware/master-auth.d.ts +8 -1
- package/dist/api/middleware/master-auth.d.ts.map +1 -1
- package/dist/api/middleware/master-auth.js +8 -1
- package/dist/api/middleware/master-auth.js.map +1 -1
- package/dist/api/routes/actions.d.ts +3 -0
- package/dist/api/routes/actions.d.ts.map +1 -1
- package/dist/api/routes/actions.js +1 -1
- package/dist/api/routes/actions.js.map +1 -1
- package/dist/api/routes/admin.d.ts +3 -0
- package/dist/api/routes/admin.d.ts.map +1 -1
- package/dist/api/routes/admin.js +200 -1
- package/dist/api/routes/admin.js.map +1 -1
- package/dist/api/routes/defi-positions.d.ts +31 -0
- package/dist/api/routes/defi-positions.d.ts.map +1 -0
- package/dist/api/routes/defi-positions.js +182 -0
- package/dist/api/routes/defi-positions.js.map +1 -0
- package/dist/api/routes/openapi-schemas.d.ts +176 -5
- package/dist/api/routes/openapi-schemas.d.ts.map +1 -1
- package/dist/api/routes/openapi-schemas.js +43 -0
- package/dist/api/routes/openapi-schemas.js.map +1 -1
- package/dist/api/routes/transactions.d.ts +3 -0
- package/dist/api/routes/transactions.d.ts.map +1 -1
- package/dist/api/routes/transactions.js +2 -2
- package/dist/api/routes/transactions.js.map +1 -1
- package/dist/api/routes/wallets.d.ts +3 -0
- package/dist/api/routes/wallets.d.ts.map +1 -1
- package/dist/api/routes/wallets.js +3 -2
- package/dist/api/routes/wallets.js.map +1 -1
- package/dist/api/routes/x402.d.ts +3 -0
- package/dist/api/routes/x402.d.ts.map +1 -1
- package/dist/api/routes/x402.js +1 -1
- package/dist/api/routes/x402.js.map +1 -1
- package/dist/api/server.d.ts +3 -0
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +35 -18
- package/dist/api/server.js.map +1 -1
- package/dist/infrastructure/action/action-provider-registry.d.ts.map +1 -1
- package/dist/infrastructure/action/action-provider-registry.js +2 -0
- package/dist/infrastructure/action/action-provider-registry.js.map +1 -1
- package/dist/infrastructure/action/api-key-store.d.ts +5 -1
- package/dist/infrastructure/action/api-key-store.d.ts.map +1 -1
- package/dist/infrastructure/action/api-key-store.js +10 -4
- package/dist/infrastructure/action/api-key-store.js.map +1 -1
- package/dist/infrastructure/database/migrate.d.ts +1 -1
- package/dist/infrastructure/database/migrate.d.ts.map +1 -1
- package/dist/infrastructure/database/migrate.js +110 -2
- package/dist/infrastructure/database/migrate.js.map +1 -1
- package/dist/infrastructure/database/schema.d.ts +299 -0
- package/dist/infrastructure/database/schema.d.ts.map +1 -1
- package/dist/infrastructure/database/schema.js +31 -1
- package/dist/infrastructure/database/schema.js.map +1 -1
- package/dist/infrastructure/keystore/re-encrypt.d.ts +28 -0
- package/dist/infrastructure/keystore/re-encrypt.d.ts.map +1 -0
- package/dist/infrastructure/keystore/re-encrypt.js +134 -0
- package/dist/infrastructure/keystore/re-encrypt.js.map +1 -0
- package/dist/infrastructure/settings/setting-keys.d.ts +1 -1
- package/dist/infrastructure/settings/setting-keys.d.ts.map +1 -1
- package/dist/infrastructure/settings/setting-keys.js +8 -0
- package/dist/infrastructure/settings/setting-keys.js.map +1 -1
- package/dist/infrastructure/settings/settings-service.d.ts +6 -0
- package/dist/infrastructure/settings/settings-service.d.ts.map +1 -1
- package/dist/infrastructure/settings/settings-service.js +10 -4
- package/dist/infrastructure/settings/settings-service.js.map +1 -1
- package/dist/lifecycle/daemon.d.ts +8 -1
- package/dist/lifecycle/daemon.d.ts.map +1 -1
- package/dist/lifecycle/daemon.js +144 -3
- package/dist/lifecycle/daemon.js.map +1 -1
- package/dist/notifications/notification-service.d.ts.map +1 -1
- package/dist/notifications/notification-service.js +6 -3
- package/dist/notifications/notification-service.js.map +1 -1
- package/dist/notifications/templates/message-templates.d.ts.map +1 -1
- package/dist/notifications/templates/message-templates.js +32 -2
- package/dist/notifications/templates/message-templates.js.map +1 -1
- package/dist/pipeline/database-policy-engine.d.ts +30 -0
- package/dist/pipeline/database-policy-engine.d.ts.map +1 -1
- package/dist/pipeline/database-policy-engine.js +149 -2
- package/dist/pipeline/database-policy-engine.js.map +1 -1
- package/dist/pipeline/sign-only.d.ts.map +1 -1
- package/dist/pipeline/sign-only.js +1 -0
- package/dist/pipeline/sign-only.js.map +1 -1
- package/dist/pipeline/stages.d.ts.map +1 -1
- package/dist/pipeline/stages.js +7 -0
- package/dist/pipeline/stages.js.map +1 -1
- package/dist/services/autostop-service.d.ts +3 -3
- package/dist/services/autostop-service.d.ts.map +1 -1
- package/dist/services/autostop-service.js +8 -15
- package/dist/services/autostop-service.js.map +1 -1
- package/dist/services/defi/position-tracker.d.ts +61 -0
- package/dist/services/defi/position-tracker.d.ts.map +1 -0
- package/dist/services/defi/position-tracker.js +156 -0
- package/dist/services/defi/position-tracker.js.map +1 -0
- package/dist/services/defi/position-write-queue.d.ts +37 -0
- package/dist/services/defi/position-write-queue.d.ts.map +1 -0
- package/dist/services/defi/position-write-queue.js +92 -0
- package/dist/services/defi/position-write-queue.js.map +1 -0
- package/dist/services/monitoring/defi-monitor-service.d.ts +29 -0
- package/dist/services/monitoring/defi-monitor-service.d.ts.map +1 -0
- package/dist/services/monitoring/defi-monitor-service.js +62 -0
- package/dist/services/monitoring/defi-monitor-service.js.map +1 -0
- package/dist/services/monitoring/health-factor-monitor.d.ts +66 -0
- package/dist/services/monitoring/health-factor-monitor.d.ts.map +1 -0
- package/dist/services/monitoring/health-factor-monitor.js +247 -0
- package/dist/services/monitoring/health-factor-monitor.js.map +1 -0
- package/package.json +5 -5
- package/public/admin/assets/index-BpDnuS0k.css +1 -0
- package/public/admin/assets/index-CgtuiQGn.js +1 -0
- package/public/admin/index.html +2 -2
- package/public/admin/assets/index-DDqQR5T7.css +0 -1
- package/public/admin/assets/index-xzLnQ5sm.js +0 -1
|
@@ -2924,4 +2924,303 @@ export declare const incomingTxCursors: import("drizzle-orm/sqlite-core").SQLite
|
|
|
2924
2924
|
};
|
|
2925
2925
|
dialect: "sqlite";
|
|
2926
2926
|
}>;
|
|
2927
|
+
export declare const defiPositions: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
2928
|
+
name: "defi_positions";
|
|
2929
|
+
schema: undefined;
|
|
2930
|
+
columns: {
|
|
2931
|
+
id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
2932
|
+
name: "id";
|
|
2933
|
+
tableName: "defi_positions";
|
|
2934
|
+
dataType: "string";
|
|
2935
|
+
columnType: "SQLiteText";
|
|
2936
|
+
data: string;
|
|
2937
|
+
driverParam: string;
|
|
2938
|
+
notNull: true;
|
|
2939
|
+
hasDefault: false;
|
|
2940
|
+
isPrimaryKey: true;
|
|
2941
|
+
isAutoincrement: false;
|
|
2942
|
+
hasRuntimeDefault: false;
|
|
2943
|
+
enumValues: [string, ...string[]];
|
|
2944
|
+
baseColumn: never;
|
|
2945
|
+
identity: undefined;
|
|
2946
|
+
generated: undefined;
|
|
2947
|
+
}, {}, {
|
|
2948
|
+
length: number | undefined;
|
|
2949
|
+
}>;
|
|
2950
|
+
walletId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
2951
|
+
name: "wallet_id";
|
|
2952
|
+
tableName: "defi_positions";
|
|
2953
|
+
dataType: "string";
|
|
2954
|
+
columnType: "SQLiteText";
|
|
2955
|
+
data: string;
|
|
2956
|
+
driverParam: string;
|
|
2957
|
+
notNull: true;
|
|
2958
|
+
hasDefault: false;
|
|
2959
|
+
isPrimaryKey: false;
|
|
2960
|
+
isAutoincrement: false;
|
|
2961
|
+
hasRuntimeDefault: false;
|
|
2962
|
+
enumValues: [string, ...string[]];
|
|
2963
|
+
baseColumn: never;
|
|
2964
|
+
identity: undefined;
|
|
2965
|
+
generated: undefined;
|
|
2966
|
+
}, {}, {
|
|
2967
|
+
length: number | undefined;
|
|
2968
|
+
}>;
|
|
2969
|
+
category: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
2970
|
+
name: "category";
|
|
2971
|
+
tableName: "defi_positions";
|
|
2972
|
+
dataType: "string";
|
|
2973
|
+
columnType: "SQLiteText";
|
|
2974
|
+
data: string;
|
|
2975
|
+
driverParam: string;
|
|
2976
|
+
notNull: true;
|
|
2977
|
+
hasDefault: false;
|
|
2978
|
+
isPrimaryKey: false;
|
|
2979
|
+
isAutoincrement: false;
|
|
2980
|
+
hasRuntimeDefault: false;
|
|
2981
|
+
enumValues: [string, ...string[]];
|
|
2982
|
+
baseColumn: never;
|
|
2983
|
+
identity: undefined;
|
|
2984
|
+
generated: undefined;
|
|
2985
|
+
}, {}, {
|
|
2986
|
+
length: number | undefined;
|
|
2987
|
+
}>;
|
|
2988
|
+
provider: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
2989
|
+
name: "provider";
|
|
2990
|
+
tableName: "defi_positions";
|
|
2991
|
+
dataType: "string";
|
|
2992
|
+
columnType: "SQLiteText";
|
|
2993
|
+
data: string;
|
|
2994
|
+
driverParam: string;
|
|
2995
|
+
notNull: true;
|
|
2996
|
+
hasDefault: false;
|
|
2997
|
+
isPrimaryKey: false;
|
|
2998
|
+
isAutoincrement: false;
|
|
2999
|
+
hasRuntimeDefault: false;
|
|
3000
|
+
enumValues: [string, ...string[]];
|
|
3001
|
+
baseColumn: never;
|
|
3002
|
+
identity: undefined;
|
|
3003
|
+
generated: undefined;
|
|
3004
|
+
}, {}, {
|
|
3005
|
+
length: number | undefined;
|
|
3006
|
+
}>;
|
|
3007
|
+
chain: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
3008
|
+
name: "chain";
|
|
3009
|
+
tableName: "defi_positions";
|
|
3010
|
+
dataType: "string";
|
|
3011
|
+
columnType: "SQLiteText";
|
|
3012
|
+
data: string;
|
|
3013
|
+
driverParam: string;
|
|
3014
|
+
notNull: true;
|
|
3015
|
+
hasDefault: false;
|
|
3016
|
+
isPrimaryKey: false;
|
|
3017
|
+
isAutoincrement: false;
|
|
3018
|
+
hasRuntimeDefault: false;
|
|
3019
|
+
enumValues: [string, ...string[]];
|
|
3020
|
+
baseColumn: never;
|
|
3021
|
+
identity: undefined;
|
|
3022
|
+
generated: undefined;
|
|
3023
|
+
}, {}, {
|
|
3024
|
+
length: number | undefined;
|
|
3025
|
+
}>;
|
|
3026
|
+
network: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
3027
|
+
name: "network";
|
|
3028
|
+
tableName: "defi_positions";
|
|
3029
|
+
dataType: "string";
|
|
3030
|
+
columnType: "SQLiteText";
|
|
3031
|
+
data: string;
|
|
3032
|
+
driverParam: string;
|
|
3033
|
+
notNull: false;
|
|
3034
|
+
hasDefault: false;
|
|
3035
|
+
isPrimaryKey: false;
|
|
3036
|
+
isAutoincrement: false;
|
|
3037
|
+
hasRuntimeDefault: false;
|
|
3038
|
+
enumValues: [string, ...string[]];
|
|
3039
|
+
baseColumn: never;
|
|
3040
|
+
identity: undefined;
|
|
3041
|
+
generated: undefined;
|
|
3042
|
+
}, {}, {
|
|
3043
|
+
length: number | undefined;
|
|
3044
|
+
}>;
|
|
3045
|
+
assetId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
3046
|
+
name: "asset_id";
|
|
3047
|
+
tableName: "defi_positions";
|
|
3048
|
+
dataType: "string";
|
|
3049
|
+
columnType: "SQLiteText";
|
|
3050
|
+
data: string;
|
|
3051
|
+
driverParam: string;
|
|
3052
|
+
notNull: false;
|
|
3053
|
+
hasDefault: false;
|
|
3054
|
+
isPrimaryKey: false;
|
|
3055
|
+
isAutoincrement: false;
|
|
3056
|
+
hasRuntimeDefault: false;
|
|
3057
|
+
enumValues: [string, ...string[]];
|
|
3058
|
+
baseColumn: never;
|
|
3059
|
+
identity: undefined;
|
|
3060
|
+
generated: undefined;
|
|
3061
|
+
}, {}, {
|
|
3062
|
+
length: number | undefined;
|
|
3063
|
+
}>;
|
|
3064
|
+
amount: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
3065
|
+
name: "amount";
|
|
3066
|
+
tableName: "defi_positions";
|
|
3067
|
+
dataType: "string";
|
|
3068
|
+
columnType: "SQLiteText";
|
|
3069
|
+
data: string;
|
|
3070
|
+
driverParam: string;
|
|
3071
|
+
notNull: true;
|
|
3072
|
+
hasDefault: false;
|
|
3073
|
+
isPrimaryKey: false;
|
|
3074
|
+
isAutoincrement: false;
|
|
3075
|
+
hasRuntimeDefault: false;
|
|
3076
|
+
enumValues: [string, ...string[]];
|
|
3077
|
+
baseColumn: never;
|
|
3078
|
+
identity: undefined;
|
|
3079
|
+
generated: undefined;
|
|
3080
|
+
}, {}, {
|
|
3081
|
+
length: number | undefined;
|
|
3082
|
+
}>;
|
|
3083
|
+
amountUsd: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
3084
|
+
name: "amount_usd";
|
|
3085
|
+
tableName: "defi_positions";
|
|
3086
|
+
dataType: "number";
|
|
3087
|
+
columnType: "SQLiteReal";
|
|
3088
|
+
data: number;
|
|
3089
|
+
driverParam: number;
|
|
3090
|
+
notNull: false;
|
|
3091
|
+
hasDefault: false;
|
|
3092
|
+
isPrimaryKey: false;
|
|
3093
|
+
isAutoincrement: false;
|
|
3094
|
+
hasRuntimeDefault: false;
|
|
3095
|
+
enumValues: undefined;
|
|
3096
|
+
baseColumn: never;
|
|
3097
|
+
identity: undefined;
|
|
3098
|
+
generated: undefined;
|
|
3099
|
+
}, {}, {}>;
|
|
3100
|
+
metadata: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
3101
|
+
name: "metadata";
|
|
3102
|
+
tableName: "defi_positions";
|
|
3103
|
+
dataType: "string";
|
|
3104
|
+
columnType: "SQLiteText";
|
|
3105
|
+
data: string;
|
|
3106
|
+
driverParam: string;
|
|
3107
|
+
notNull: false;
|
|
3108
|
+
hasDefault: false;
|
|
3109
|
+
isPrimaryKey: false;
|
|
3110
|
+
isAutoincrement: false;
|
|
3111
|
+
hasRuntimeDefault: false;
|
|
3112
|
+
enumValues: [string, ...string[]];
|
|
3113
|
+
baseColumn: never;
|
|
3114
|
+
identity: undefined;
|
|
3115
|
+
generated: undefined;
|
|
3116
|
+
}, {}, {
|
|
3117
|
+
length: number | undefined;
|
|
3118
|
+
}>;
|
|
3119
|
+
status: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
3120
|
+
name: "status";
|
|
3121
|
+
tableName: "defi_positions";
|
|
3122
|
+
dataType: "string";
|
|
3123
|
+
columnType: "SQLiteText";
|
|
3124
|
+
data: string;
|
|
3125
|
+
driverParam: string;
|
|
3126
|
+
notNull: true;
|
|
3127
|
+
hasDefault: true;
|
|
3128
|
+
isPrimaryKey: false;
|
|
3129
|
+
isAutoincrement: false;
|
|
3130
|
+
hasRuntimeDefault: false;
|
|
3131
|
+
enumValues: [string, ...string[]];
|
|
3132
|
+
baseColumn: never;
|
|
3133
|
+
identity: undefined;
|
|
3134
|
+
generated: undefined;
|
|
3135
|
+
}, {}, {
|
|
3136
|
+
length: number | undefined;
|
|
3137
|
+
}>;
|
|
3138
|
+
openedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
3139
|
+
name: "opened_at";
|
|
3140
|
+
tableName: "defi_positions";
|
|
3141
|
+
dataType: "date";
|
|
3142
|
+
columnType: "SQLiteTimestamp";
|
|
3143
|
+
data: Date;
|
|
3144
|
+
driverParam: number;
|
|
3145
|
+
notNull: true;
|
|
3146
|
+
hasDefault: false;
|
|
3147
|
+
isPrimaryKey: false;
|
|
3148
|
+
isAutoincrement: false;
|
|
3149
|
+
hasRuntimeDefault: false;
|
|
3150
|
+
enumValues: undefined;
|
|
3151
|
+
baseColumn: never;
|
|
3152
|
+
identity: undefined;
|
|
3153
|
+
generated: undefined;
|
|
3154
|
+
}, {}, {}>;
|
|
3155
|
+
closedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
3156
|
+
name: "closed_at";
|
|
3157
|
+
tableName: "defi_positions";
|
|
3158
|
+
dataType: "date";
|
|
3159
|
+
columnType: "SQLiteTimestamp";
|
|
3160
|
+
data: Date;
|
|
3161
|
+
driverParam: number;
|
|
3162
|
+
notNull: false;
|
|
3163
|
+
hasDefault: false;
|
|
3164
|
+
isPrimaryKey: false;
|
|
3165
|
+
isAutoincrement: false;
|
|
3166
|
+
hasRuntimeDefault: false;
|
|
3167
|
+
enumValues: undefined;
|
|
3168
|
+
baseColumn: never;
|
|
3169
|
+
identity: undefined;
|
|
3170
|
+
generated: undefined;
|
|
3171
|
+
}, {}, {}>;
|
|
3172
|
+
lastSyncedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
3173
|
+
name: "last_synced_at";
|
|
3174
|
+
tableName: "defi_positions";
|
|
3175
|
+
dataType: "date";
|
|
3176
|
+
columnType: "SQLiteTimestamp";
|
|
3177
|
+
data: Date;
|
|
3178
|
+
driverParam: number;
|
|
3179
|
+
notNull: true;
|
|
3180
|
+
hasDefault: false;
|
|
3181
|
+
isPrimaryKey: false;
|
|
3182
|
+
isAutoincrement: false;
|
|
3183
|
+
hasRuntimeDefault: false;
|
|
3184
|
+
enumValues: undefined;
|
|
3185
|
+
baseColumn: never;
|
|
3186
|
+
identity: undefined;
|
|
3187
|
+
generated: undefined;
|
|
3188
|
+
}, {}, {}>;
|
|
3189
|
+
createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
3190
|
+
name: "created_at";
|
|
3191
|
+
tableName: "defi_positions";
|
|
3192
|
+
dataType: "date";
|
|
3193
|
+
columnType: "SQLiteTimestamp";
|
|
3194
|
+
data: Date;
|
|
3195
|
+
driverParam: number;
|
|
3196
|
+
notNull: true;
|
|
3197
|
+
hasDefault: false;
|
|
3198
|
+
isPrimaryKey: false;
|
|
3199
|
+
isAutoincrement: false;
|
|
3200
|
+
hasRuntimeDefault: false;
|
|
3201
|
+
enumValues: undefined;
|
|
3202
|
+
baseColumn: never;
|
|
3203
|
+
identity: undefined;
|
|
3204
|
+
generated: undefined;
|
|
3205
|
+
}, {}, {}>;
|
|
3206
|
+
updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
3207
|
+
name: "updated_at";
|
|
3208
|
+
tableName: "defi_positions";
|
|
3209
|
+
dataType: "date";
|
|
3210
|
+
columnType: "SQLiteTimestamp";
|
|
3211
|
+
data: Date;
|
|
3212
|
+
driverParam: number;
|
|
3213
|
+
notNull: true;
|
|
3214
|
+
hasDefault: false;
|
|
3215
|
+
isPrimaryKey: false;
|
|
3216
|
+
isAutoincrement: false;
|
|
3217
|
+
hasRuntimeDefault: false;
|
|
3218
|
+
enumValues: undefined;
|
|
3219
|
+
baseColumn: never;
|
|
3220
|
+
identity: undefined;
|
|
3221
|
+
generated: undefined;
|
|
3222
|
+
}, {}, {}>;
|
|
3223
|
+
};
|
|
3224
|
+
dialect: "sqlite";
|
|
3225
|
+
}>;
|
|
2927
3226
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/database/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/database/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAwCH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCnB,CAAC;AAOF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBpB,CAAC;AAMF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB1B,CAAC;AAMF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwExB,CAAC;AAMF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBpB,CAAC;AAMF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmB5B,CAAC;AAMF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsBpB,CAAC;AAMF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIxB,CAAC;AAMH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmB5B,CAAC;AAMF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBzB,CAAC;AAMF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYpB,CAAC;AAMF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKlB,CAAC;AAMH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAazB,CAAC;AAMF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBtB,CAAC;AAMF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGlB,CAAC;AAOH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BhC,CAAC;AAOF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO5B,CAAC;AAOH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BzB,CAAC"}
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
*/
|
|
22
22
|
import { sqliteTable, text, integer, real, index, uniqueIndex, check, } from 'drizzle-orm/sqlite-core';
|
|
23
23
|
import { sql } from 'drizzle-orm';
|
|
24
|
-
import { WALLET_STATUSES, CHAIN_TYPES, NETWORK_TYPES, ENVIRONMENT_TYPES, TRANSACTION_STATUSES, TRANSACTION_TYPES, POLICY_TYPES, POLICY_TIERS, NOTIFICATION_LOG_STATUSES, INCOMING_TX_STATUSES, } from '@waiaas/core';
|
|
24
|
+
import { WALLET_STATUSES, CHAIN_TYPES, NETWORK_TYPES, ENVIRONMENT_TYPES, TRANSACTION_STATUSES, TRANSACTION_TYPES, POLICY_TYPES, POLICY_TIERS, NOTIFICATION_LOG_STATUSES, INCOMING_TX_STATUSES, POSITION_CATEGORIES, POSITION_STATUSES, } from '@waiaas/core';
|
|
25
25
|
// ---------------------------------------------------------------------------
|
|
26
26
|
// Utility: build CHECK constraint SQL from SSoT enum arrays
|
|
27
27
|
// ---------------------------------------------------------------------------
|
|
@@ -356,4 +356,34 @@ export const incomingTxCursors = sqliteTable('incoming_tx_cursors', {
|
|
|
356
356
|
lastBlockNumber: integer('last_block_number'),
|
|
357
357
|
updatedAt: integer('updated_at', { mode: 'timestamp' }).notNull(),
|
|
358
358
|
});
|
|
359
|
+
// ---------------------------------------------------------------------------
|
|
360
|
+
// Table 18: defi_positions -- DeFi position tracking
|
|
361
|
+
// v29.2: Added for DeFi Lending framework position persistence
|
|
362
|
+
// ---------------------------------------------------------------------------
|
|
363
|
+
export const defiPositions = sqliteTable('defi_positions', {
|
|
364
|
+
id: text('id').primaryKey(),
|
|
365
|
+
walletId: text('wallet_id').notNull().references(() => wallets.id, { onDelete: 'cascade' }),
|
|
366
|
+
category: text('category').notNull(),
|
|
367
|
+
provider: text('provider').notNull(),
|
|
368
|
+
chain: text('chain').notNull(),
|
|
369
|
+
network: text('network'),
|
|
370
|
+
assetId: text('asset_id'),
|
|
371
|
+
amount: text('amount').notNull(),
|
|
372
|
+
amountUsd: real('amount_usd'),
|
|
373
|
+
metadata: text('metadata'),
|
|
374
|
+
status: text('status').notNull().default('ACTIVE'),
|
|
375
|
+
openedAt: integer('opened_at', { mode: 'timestamp' }).notNull(),
|
|
376
|
+
closedAt: integer('closed_at', { mode: 'timestamp' }),
|
|
377
|
+
lastSyncedAt: integer('last_synced_at', { mode: 'timestamp' }).notNull(),
|
|
378
|
+
createdAt: integer('created_at', { mode: 'timestamp' }).notNull(),
|
|
379
|
+
updatedAt: integer('updated_at', { mode: 'timestamp' }).notNull(),
|
|
380
|
+
}, (table) => [
|
|
381
|
+
index('idx_defi_positions_wallet_category').on(table.walletId, table.category),
|
|
382
|
+
index('idx_defi_positions_wallet_provider').on(table.walletId, table.provider),
|
|
383
|
+
index('idx_defi_positions_status').on(table.status),
|
|
384
|
+
uniqueIndex('idx_defi_positions_unique').on(table.walletId, table.provider, table.assetId, table.category),
|
|
385
|
+
check('check_position_category', buildCheckSql('category', POSITION_CATEGORIES)),
|
|
386
|
+
check('check_position_status', buildCheckSql('status', POSITION_STATUSES)),
|
|
387
|
+
check('check_position_chain', buildCheckSql('chain', CHAIN_TYPES)),
|
|
388
|
+
]);
|
|
359
389
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/infrastructure/database/schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/infrastructure/database/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Re-encryption service for keystore files and DB-stored credentials.
|
|
3
|
+
*
|
|
4
|
+
* Used by the master password change API (PUT /v1/admin/master-password).
|
|
5
|
+
*
|
|
6
|
+
* Keystore files: decrypt with old password → re-encrypt with new password → atomic rename.
|
|
7
|
+
* Settings/API keys: decrypt with old password → re-encrypt with new password → DB transaction.
|
|
8
|
+
*
|
|
9
|
+
* Rollback: on failure, temp files are cleaned up and originals are preserved.
|
|
10
|
+
*/
|
|
11
|
+
import type { BetterSQLite3Database } from 'drizzle-orm/better-sqlite3';
|
|
12
|
+
import type { Database as SQLiteDatabase } from 'better-sqlite3';
|
|
13
|
+
import type * as schema from '../database/schema.js';
|
|
14
|
+
/**
|
|
15
|
+
* Re-encrypt all keystore files in the given directory.
|
|
16
|
+
* Uses atomic write (temp file → rename) to prevent corruption.
|
|
17
|
+
*
|
|
18
|
+
* @returns Number of keystore files re-encrypted
|
|
19
|
+
*/
|
|
20
|
+
export declare function reEncryptKeystores(keystoreDir: string, oldPassword: string, newPassword: string): Promise<number>;
|
|
21
|
+
/**
|
|
22
|
+
* Re-encrypt all credential settings and API keys in the database.
|
|
23
|
+
* Uses a SQLite transaction for atomicity.
|
|
24
|
+
*
|
|
25
|
+
* @returns Number of re-encrypted entries (settings + api keys)
|
|
26
|
+
*/
|
|
27
|
+
export declare function reEncryptSettings(db: BetterSQLite3Database<typeof schema>, sqlite: SQLiteDatabase | undefined, oldPassword: string, newPassword: string): number;
|
|
28
|
+
//# sourceMappingURL=re-encrypt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"re-encrypt.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/keystore/re-encrypt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGjE,OAAO,KAAK,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAMrD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CAoEjB;AAMD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,qBAAqB,CAAC,OAAO,MAAM,CAAC,EACxC,MAAM,EAAE,cAAc,GAAG,SAAS,EAClC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,MAAM,CA0CR"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Re-encryption service for keystore files and DB-stored credentials.
|
|
3
|
+
*
|
|
4
|
+
* Used by the master password change API (PUT /v1/admin/master-password).
|
|
5
|
+
*
|
|
6
|
+
* Keystore files: decrypt with old password → re-encrypt with new password → atomic rename.
|
|
7
|
+
* Settings/API keys: decrypt with old password → re-encrypt with new password → DB transaction.
|
|
8
|
+
*
|
|
9
|
+
* Rollback: on failure, temp files are cleaned up and originals are preserved.
|
|
10
|
+
*/
|
|
11
|
+
import { readFile, writeFile, rename, unlink, readdir } from 'node:fs/promises';
|
|
12
|
+
import { join, dirname } from 'node:path';
|
|
13
|
+
import { encrypt, decrypt, KDF_PARAMS } from './crypto.js';
|
|
14
|
+
import { encryptSettingValue, decryptSettingValue } from '../settings/settings-crypto.js';
|
|
15
|
+
import { eq } from 'drizzle-orm';
|
|
16
|
+
import { settings, apiKeys } from '../database/schema.js';
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
// Keystore file re-encryption
|
|
19
|
+
// ---------------------------------------------------------------------------
|
|
20
|
+
/**
|
|
21
|
+
* Re-encrypt all keystore files in the given directory.
|
|
22
|
+
* Uses atomic write (temp file → rename) to prevent corruption.
|
|
23
|
+
*
|
|
24
|
+
* @returns Number of keystore files re-encrypted
|
|
25
|
+
*/
|
|
26
|
+
export async function reEncryptKeystores(keystoreDir, oldPassword, newPassword) {
|
|
27
|
+
const files = await readdir(keystoreDir);
|
|
28
|
+
const jsonFiles = files.filter(f => f.endsWith('.json') && !f.startsWith('.'));
|
|
29
|
+
const tempPaths = [];
|
|
30
|
+
try {
|
|
31
|
+
for (const file of jsonFiles) {
|
|
32
|
+
const filePath = join(keystoreDir, file);
|
|
33
|
+
const tempPath = join(dirname(filePath), `.${file}.reenc.tmp`);
|
|
34
|
+
tempPaths.push(tempPath);
|
|
35
|
+
// Read and parse keystore
|
|
36
|
+
const content = await readFile(filePath, 'utf-8');
|
|
37
|
+
const parsed = JSON.parse(content);
|
|
38
|
+
// Reconstruct EncryptedData from keystore format
|
|
39
|
+
const encrypted = {
|
|
40
|
+
iv: Buffer.from(parsed.crypto.cipherparams.iv, 'hex'),
|
|
41
|
+
ciphertext: Buffer.from(parsed.crypto.ciphertext, 'hex'),
|
|
42
|
+
authTag: Buffer.from(parsed.crypto.authTag, 'hex'),
|
|
43
|
+
salt: Buffer.from(parsed.crypto.kdfparams.salt, 'hex'),
|
|
44
|
+
kdfparams: parsed.crypto.kdfparams,
|
|
45
|
+
};
|
|
46
|
+
// Decrypt with old password
|
|
47
|
+
const plaintext = await decrypt(encrypted, oldPassword);
|
|
48
|
+
// Re-encrypt with new password
|
|
49
|
+
const reEncrypted = await encrypt(plaintext, newPassword);
|
|
50
|
+
// Zero plaintext
|
|
51
|
+
plaintext.fill(0);
|
|
52
|
+
// Update keystore file structure
|
|
53
|
+
parsed.crypto.cipherparams.iv = reEncrypted.iv.toString('hex');
|
|
54
|
+
parsed.crypto.ciphertext = reEncrypted.ciphertext.toString('hex');
|
|
55
|
+
parsed.crypto.authTag = reEncrypted.authTag.toString('hex');
|
|
56
|
+
parsed.crypto.kdfparams = {
|
|
57
|
+
salt: reEncrypted.salt.toString('hex'),
|
|
58
|
+
...KDF_PARAMS,
|
|
59
|
+
};
|
|
60
|
+
// Write temp file atomically
|
|
61
|
+
await writeFile(tempPath, JSON.stringify(parsed, null, 2), {
|
|
62
|
+
encoding: 'utf-8',
|
|
63
|
+
mode: 0o600,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
// All temp files written successfully → rename to final
|
|
67
|
+
for (let i = 0; i < jsonFiles.length; i++) {
|
|
68
|
+
const filePath = join(keystoreDir, jsonFiles[i]);
|
|
69
|
+
await rename(tempPaths[i], filePath);
|
|
70
|
+
}
|
|
71
|
+
return jsonFiles.length;
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
// Rollback: clean up temp files
|
|
75
|
+
for (const tempPath of tempPaths) {
|
|
76
|
+
try {
|
|
77
|
+
await unlink(tempPath);
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
// Ignore cleanup errors
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
throw error;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// ---------------------------------------------------------------------------
|
|
87
|
+
// Settings + API keys re-encryption
|
|
88
|
+
// ---------------------------------------------------------------------------
|
|
89
|
+
/**
|
|
90
|
+
* Re-encrypt all credential settings and API keys in the database.
|
|
91
|
+
* Uses a SQLite transaction for atomicity.
|
|
92
|
+
*
|
|
93
|
+
* @returns Number of re-encrypted entries (settings + api keys)
|
|
94
|
+
*/
|
|
95
|
+
export function reEncryptSettings(db, sqlite, oldPassword, newPassword) {
|
|
96
|
+
let count = 0;
|
|
97
|
+
// Use raw SQLite transaction for atomicity
|
|
98
|
+
const run = () => {
|
|
99
|
+
// Re-encrypt settings with encrypted=true
|
|
100
|
+
const encryptedSettings = db
|
|
101
|
+
.select()
|
|
102
|
+
.from(settings)
|
|
103
|
+
.where(eq(settings.encrypted, true))
|
|
104
|
+
.all();
|
|
105
|
+
for (const row of encryptedSettings) {
|
|
106
|
+
const plaintext = decryptSettingValue(row.value, oldPassword);
|
|
107
|
+
const reEncrypted = encryptSettingValue(plaintext, newPassword);
|
|
108
|
+
db.update(settings)
|
|
109
|
+
.set({ value: reEncrypted, updatedAt: new Date() })
|
|
110
|
+
.where(eq(settings.key, row.key))
|
|
111
|
+
.run();
|
|
112
|
+
count++;
|
|
113
|
+
}
|
|
114
|
+
// Re-encrypt API keys
|
|
115
|
+
const allApiKeys = db.select().from(apiKeys).all();
|
|
116
|
+
for (const row of allApiKeys) {
|
|
117
|
+
const plaintext = decryptSettingValue(row.encryptedKey, oldPassword);
|
|
118
|
+
const reEncrypted = encryptSettingValue(plaintext, newPassword);
|
|
119
|
+
db.update(apiKeys)
|
|
120
|
+
.set({ encryptedKey: reEncrypted, updatedAt: new Date() })
|
|
121
|
+
.where(eq(apiKeys.providerName, row.providerName))
|
|
122
|
+
.run();
|
|
123
|
+
count++;
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
if (sqlite) {
|
|
127
|
+
sqlite.transaction(run)();
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
run();
|
|
131
|
+
}
|
|
132
|
+
return count;
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=re-encrypt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"re-encrypt.js","sourceRoot":"","sources":["../../../src/infrastructure/keystore/re-encrypt.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ export interface SettingDefinition {
|
|
|
20
20
|
/** If true, value is AES-GCM encrypted before DB storage */
|
|
21
21
|
isCredential: boolean;
|
|
22
22
|
}
|
|
23
|
-
export declare const SETTING_CATEGORIES: readonly ["notifications", "rpc", "security", "daemon", "walletconnect", "oracle", "display", "autostop", "monitoring", "telegram", "signing_sdk", "incoming", "actions", "policy", "gas_condition", "rpc_pool"];
|
|
23
|
+
export declare const SETTING_CATEGORIES: readonly ["notifications", "rpc", "security", "daemon", "walletconnect", "oracle", "display", "autostop", "monitoring", "telegram", "signing_sdk", "incoming", "actions", "policy", "gas_condition", "rpc_pool", "position_tracker"];
|
|
24
24
|
export type SettingCategory = (typeof SETTING_CATEGORIES)[number];
|
|
25
25
|
export declare const SETTING_DEFINITIONS: readonly SettingDefinition[];
|
|
26
26
|
/** Get a setting definition by key, or undefined if not found */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setting-keys.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/settings/setting-keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,MAAM,WAAW,iBAAiB;IAChC,8DAA8D;IAC9D,GAAG,EAAE,MAAM,CAAC;IACZ,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,UAAU,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,YAAY,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,YAAY,EAAE,OAAO,CAAC;CACvB;AAMD,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"setting-keys.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/settings/setting-keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,MAAM,WAAW,iBAAiB;IAChC,8DAA8D;IAC9D,GAAG,EAAE,MAAM,CAAC;IACZ,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,UAAU,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,YAAY,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,YAAY,EAAE,OAAO,CAAC;CACvB;AAMD,eAAO,MAAM,kBAAkB,sOAkBrB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAMlE,eAAO,MAAM,mBAAmB,EAAE,SAAS,iBAAiB,EA8KlD,CAAC;AAWX,iEAAiE;AACjE,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAE/E"}
|