flash-sdk 1.0.128 → 1.0.129
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/PerpetualsClient.d.ts +3 -1
- package/dist/PerpetualsClient.js +148 -51
- package/dist/PoolConfig.d.ts +3 -1
- package/dist/PoolConfig.js +4 -3
- package/dist/PoolConfig.json +15 -708
- package/dist/backupOracle.d.ts +7 -0
- package/dist/backupOracle.js +89 -0
- package/dist/idl/perp_composability.d.ts +20 -0
- package/dist/idl/perp_composability.js +20 -0
- package/dist/idl/perpetuals.d.ts +181 -0
- package/dist/idl/perpetuals.js +183 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/index.d.ts +1 -0
- package/package.json +4 -2
@@ -0,0 +1,7 @@
|
|
1
|
+
/// <reference types="@solana/web3.js" />
|
2
|
+
import { PriceServiceConnection } from "@pythnetwork/price-service-client";
|
3
|
+
import { PoolConfig } from "./PoolConfig";
|
4
|
+
import { Program } from "@coral-xyz/anchor";
|
5
|
+
import { Perpetuals } from "./idl/perpetuals";
|
6
|
+
export declare const pythPriceServiceConnection: PriceServiceConnection;
|
7
|
+
export declare const getPythnetOraclePrices: (program: Program<Perpetuals>, poolConfig: PoolConfig, backupOracleSecretKey: string) => Promise<import("@solana/web3.js").TransactionInstruction>;
|
@@ -0,0 +1,89 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
+
});
|
10
|
+
};
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
15
|
+
function step(op) {
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
20
|
+
switch (op[0]) {
|
21
|
+
case 0: case 1: t = op; break;
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
25
|
+
default:
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
30
|
+
if (t[2]) _.ops.pop();
|
31
|
+
_.trys.pop(); continue;
|
32
|
+
}
|
33
|
+
op = body.call(thisArg, _);
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
36
|
+
}
|
37
|
+
};
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
40
|
+
};
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
42
|
+
exports.getPythnetOraclePrices = exports.pythPriceServiceConnection = void 0;
|
43
|
+
var price_service_client_1 = require("@pythnetwork/price-service-client");
|
44
|
+
var web3_js_1 = require("@solana/web3.js");
|
45
|
+
var bn_js_1 = __importDefault(require("bn.js"));
|
46
|
+
var bs58_1 = __importDefault(require("bs58"));
|
47
|
+
var tweetnacl_1 = __importDefault(require("tweetnacl"));
|
48
|
+
exports.pythPriceServiceConnection = new price_service_client_1.PriceServiceConnection('https://hermes.pyth.network', {
|
49
|
+
priceFeedRequestConfig: {},
|
50
|
+
});
|
51
|
+
var getPythnetOraclePrices = function (program, poolConfig, backupOracleSecretKey) { return __awaiter(void 0, void 0, void 0, function () {
|
52
|
+
var pythPriceIds, currentPrices, backupOracleAccount, caches_1, permissionlessPythCache, message, signature, preInstruction;
|
53
|
+
return __generator(this, function (_a) {
|
54
|
+
switch (_a.label) {
|
55
|
+
case 0:
|
56
|
+
pythPriceIds = poolConfig.custodies.map(function (f) { return f.pythPriceId; });
|
57
|
+
return [4, exports.pythPriceServiceConnection.getLatestPriceFeeds(pythPriceIds)];
|
58
|
+
case 1:
|
59
|
+
currentPrices = _a.sent();
|
60
|
+
backupOracleAccount = web3_js_1.Keypair.fromSecretKey(bs58_1.default.decode(backupOracleSecretKey));
|
61
|
+
if (pythPriceIds.length === currentPrices.length) {
|
62
|
+
caches_1 = currentPrices.map(function (price) {
|
63
|
+
var uncheckedPrice = price.getPriceUnchecked();
|
64
|
+
var uncheckedEmaPrice = price.getEmaPriceUnchecked();
|
65
|
+
return {
|
66
|
+
price: new bn_js_1.default(uncheckedPrice.price),
|
67
|
+
expo: uncheckedPrice.expo,
|
68
|
+
conf: new bn_js_1.default(uncheckedPrice.conf),
|
69
|
+
ema: new bn_js_1.default(uncheckedEmaPrice.price),
|
70
|
+
publishTime: new bn_js_1.default(uncheckedPrice.publishTime)
|
71
|
+
};
|
72
|
+
});
|
73
|
+
permissionlessPythCache = {
|
74
|
+
backupCache: caches_1
|
75
|
+
};
|
76
|
+
message = program._coder.types.encode('PermissionlessPythCache', permissionlessPythCache);
|
77
|
+
signature = tweetnacl_1.default.sign.detached(message, backupOracleAccount.secretKey);
|
78
|
+
preInstruction = web3_js_1.Ed25519Program.createInstructionWithPublicKey({
|
79
|
+
publicKey: backupOracleAccount.publicKey.toBytes(),
|
80
|
+
message: message,
|
81
|
+
signature: signature,
|
82
|
+
});
|
83
|
+
return [2, preInstruction];
|
84
|
+
}
|
85
|
+
return [2];
|
86
|
+
}
|
87
|
+
});
|
88
|
+
}); };
|
89
|
+
exports.getPythnetOraclePrices = getPythnetOraclePrices;
|
@@ -119,6 +119,11 @@ export type PerpComposability = {
|
|
119
119
|
"name": "eventAuthority";
|
120
120
|
"isMut": false;
|
121
121
|
"isSigner": false;
|
122
|
+
},
|
123
|
+
{
|
124
|
+
"name": "ixSysvar";
|
125
|
+
"isMut": false;
|
126
|
+
"isSigner": false;
|
122
127
|
}
|
123
128
|
];
|
124
129
|
"args": [
|
@@ -242,6 +247,11 @@ export type PerpComposability = {
|
|
242
247
|
"name": "eventAuthority";
|
243
248
|
"isMut": false;
|
244
249
|
"isSigner": false;
|
250
|
+
},
|
251
|
+
{
|
252
|
+
"name": "ixSysvar";
|
253
|
+
"isMut": false;
|
254
|
+
"isSigner": false;
|
245
255
|
}
|
246
256
|
];
|
247
257
|
"args": [
|
@@ -365,6 +375,11 @@ export type PerpComposability = {
|
|
365
375
|
"name": "eventAuthority";
|
366
376
|
"isMut": false;
|
367
377
|
"isSigner": false;
|
378
|
+
},
|
379
|
+
{
|
380
|
+
"name": "ixSysvar";
|
381
|
+
"isMut": false;
|
382
|
+
"isSigner": false;
|
368
383
|
}
|
369
384
|
];
|
370
385
|
"args": [
|
@@ -488,6 +503,11 @@ export type PerpComposability = {
|
|
488
503
|
"name": "eventAuthority";
|
489
504
|
"isMut": false;
|
490
505
|
"isSigner": false;
|
506
|
+
},
|
507
|
+
{
|
508
|
+
"name": "ixSysvar";
|
509
|
+
"isMut": false;
|
510
|
+
"isSigner": false;
|
491
511
|
}
|
492
512
|
];
|
493
513
|
"args": [
|
@@ -122,6 +122,11 @@ exports.IDL = {
|
|
122
122
|
"name": "eventAuthority",
|
123
123
|
"isMut": false,
|
124
124
|
"isSigner": false
|
125
|
+
},
|
126
|
+
{
|
127
|
+
"name": "ixSysvar",
|
128
|
+
"isMut": false,
|
129
|
+
"isSigner": false
|
125
130
|
}
|
126
131
|
],
|
127
132
|
"args": [
|
@@ -245,6 +250,11 @@ exports.IDL = {
|
|
245
250
|
"name": "eventAuthority",
|
246
251
|
"isMut": false,
|
247
252
|
"isSigner": false
|
253
|
+
},
|
254
|
+
{
|
255
|
+
"name": "ixSysvar",
|
256
|
+
"isMut": false,
|
257
|
+
"isSigner": false
|
248
258
|
}
|
249
259
|
],
|
250
260
|
"args": [
|
@@ -368,6 +378,11 @@ exports.IDL = {
|
|
368
378
|
"name": "eventAuthority",
|
369
379
|
"isMut": false,
|
370
380
|
"isSigner": false
|
381
|
+
},
|
382
|
+
{
|
383
|
+
"name": "ixSysvar",
|
384
|
+
"isMut": false,
|
385
|
+
"isSigner": false
|
371
386
|
}
|
372
387
|
],
|
373
388
|
"args": [
|
@@ -491,6 +506,11 @@ exports.IDL = {
|
|
491
506
|
"name": "eventAuthority",
|
492
507
|
"isMut": false,
|
493
508
|
"isSigner": false
|
509
|
+
},
|
510
|
+
{
|
511
|
+
"name": "ixSysvar",
|
512
|
+
"isMut": false,
|
513
|
+
"isSigner": false
|
494
514
|
}
|
495
515
|
],
|
496
516
|
"args": [
|
package/dist/idl/perpetuals.d.ts
CHANGED
@@ -668,6 +668,11 @@ export type Perpetuals = {
|
|
668
668
|
"name": "collateralCustodyCustomOracleAccount";
|
669
669
|
"isMut": false;
|
670
670
|
"isSigner": false;
|
671
|
+
},
|
672
|
+
{
|
673
|
+
"name": "ixSysvar";
|
674
|
+
"isMut": false;
|
675
|
+
"isSigner": false;
|
671
676
|
}
|
672
677
|
];
|
673
678
|
"args": [
|
@@ -771,6 +776,11 @@ export type Perpetuals = {
|
|
771
776
|
"name": "program";
|
772
777
|
"isMut": false;
|
773
778
|
"isSigner": false;
|
779
|
+
},
|
780
|
+
{
|
781
|
+
"name": "ixSysvar";
|
782
|
+
"isMut": false;
|
783
|
+
"isSigner": false;
|
774
784
|
}
|
775
785
|
];
|
776
786
|
"args": [
|
@@ -860,6 +870,11 @@ export type Perpetuals = {
|
|
860
870
|
"name": "program";
|
861
871
|
"isMut": false;
|
862
872
|
"isSigner": false;
|
873
|
+
},
|
874
|
+
{
|
875
|
+
"name": "ixSysvar";
|
876
|
+
"isMut": false;
|
877
|
+
"isSigner": false;
|
863
878
|
}
|
864
879
|
];
|
865
880
|
"args": [
|
@@ -948,6 +963,11 @@ export type Perpetuals = {
|
|
948
963
|
"name": "program";
|
949
964
|
"isMut": false;
|
950
965
|
"isSigner": false;
|
966
|
+
},
|
967
|
+
{
|
968
|
+
"name": "ixSysvar";
|
969
|
+
"isMut": false;
|
970
|
+
"isSigner": false;
|
951
971
|
}
|
952
972
|
];
|
953
973
|
"args": [
|
@@ -1051,6 +1071,11 @@ export type Perpetuals = {
|
|
1051
1071
|
"name": "program";
|
1052
1072
|
"isMut": false;
|
1053
1073
|
"isSigner": false;
|
1074
|
+
},
|
1075
|
+
{
|
1076
|
+
"name": "ixSysvar";
|
1077
|
+
"isMut": false;
|
1078
|
+
"isSigner": false;
|
1054
1079
|
}
|
1055
1080
|
];
|
1056
1081
|
"args": [
|
@@ -1149,6 +1174,11 @@ export type Perpetuals = {
|
|
1149
1174
|
"name": "program";
|
1150
1175
|
"isMut": false;
|
1151
1176
|
"isSigner": false;
|
1177
|
+
},
|
1178
|
+
{
|
1179
|
+
"name": "ixSysvar";
|
1180
|
+
"isMut": false;
|
1181
|
+
"isSigner": false;
|
1152
1182
|
}
|
1153
1183
|
];
|
1154
1184
|
"args": [
|
@@ -1247,6 +1277,11 @@ export type Perpetuals = {
|
|
1247
1277
|
"name": "program";
|
1248
1278
|
"isMut": false;
|
1249
1279
|
"isSigner": false;
|
1280
|
+
},
|
1281
|
+
{
|
1282
|
+
"name": "ixSysvar";
|
1283
|
+
"isMut": false;
|
1284
|
+
"isSigner": false;
|
1250
1285
|
}
|
1251
1286
|
];
|
1252
1287
|
"args": [
|
@@ -1257,6 +1292,7 @@ export type Perpetuals = {
|
|
1257
1292
|
};
|
1258
1293
|
}
|
1259
1294
|
];
|
1295
|
+
"returns": "u64";
|
1260
1296
|
},
|
1261
1297
|
{
|
1262
1298
|
"name": "increaseSize";
|
@@ -1325,6 +1361,11 @@ export type Perpetuals = {
|
|
1325
1361
|
"name": "program";
|
1326
1362
|
"isMut": false;
|
1327
1363
|
"isSigner": false;
|
1364
|
+
},
|
1365
|
+
{
|
1366
|
+
"name": "ixSysvar";
|
1367
|
+
"isMut": false;
|
1368
|
+
"isSigner": false;
|
1328
1369
|
}
|
1329
1370
|
];
|
1330
1371
|
"args": [
|
@@ -1408,6 +1449,11 @@ export type Perpetuals = {
|
|
1408
1449
|
"name": "program";
|
1409
1450
|
"isMut": false;
|
1410
1451
|
"isSigner": false;
|
1452
|
+
},
|
1453
|
+
{
|
1454
|
+
"name": "ixSysvar";
|
1455
|
+
"isMut": false;
|
1456
|
+
"isSigner": false;
|
1411
1457
|
}
|
1412
1458
|
];
|
1413
1459
|
"args": [
|
@@ -1506,6 +1552,11 @@ export type Perpetuals = {
|
|
1506
1552
|
"name": "program";
|
1507
1553
|
"isMut": false;
|
1508
1554
|
"isSigner": false;
|
1555
|
+
},
|
1556
|
+
{
|
1557
|
+
"name": "ixSysvar";
|
1558
|
+
"isMut": false;
|
1559
|
+
"isSigner": false;
|
1509
1560
|
}
|
1510
1561
|
];
|
1511
1562
|
"args": [
|
@@ -1516,6 +1567,7 @@ export type Perpetuals = {
|
|
1516
1567
|
};
|
1517
1568
|
}
|
1518
1569
|
];
|
1570
|
+
"returns": "u64";
|
1519
1571
|
},
|
1520
1572
|
{
|
1521
1573
|
"name": "liquidate";
|
@@ -1604,6 +1656,11 @@ export type Perpetuals = {
|
|
1604
1656
|
"name": "program";
|
1605
1657
|
"isMut": false;
|
1606
1658
|
"isSigner": false;
|
1659
|
+
},
|
1660
|
+
{
|
1661
|
+
"name": "ixSysvar";
|
1662
|
+
"isMut": false;
|
1663
|
+
"isSigner": false;
|
1607
1664
|
}
|
1608
1665
|
];
|
1609
1666
|
"args": [
|
@@ -1632,6 +1689,11 @@ export type Perpetuals = {
|
|
1632
1689
|
"name": "pool";
|
1633
1690
|
"isMut": true;
|
1634
1691
|
"isSigner": false;
|
1692
|
+
},
|
1693
|
+
{
|
1694
|
+
"name": "ixSysvar";
|
1695
|
+
"isMut": false;
|
1696
|
+
"isSigner": false;
|
1635
1697
|
}
|
1636
1698
|
];
|
1637
1699
|
"args": [];
|
@@ -1669,6 +1731,11 @@ export type Perpetuals = {
|
|
1669
1731
|
"name": "lpTokenMint";
|
1670
1732
|
"isMut": false;
|
1671
1733
|
"isSigner": false;
|
1734
|
+
},
|
1735
|
+
{
|
1736
|
+
"name": "ixSysvar";
|
1737
|
+
"isMut": false;
|
1738
|
+
"isSigner": false;
|
1672
1739
|
}
|
1673
1740
|
];
|
1674
1741
|
"args": [
|
@@ -1715,6 +1782,11 @@ export type Perpetuals = {
|
|
1715
1782
|
"name": "lpTokenMint";
|
1716
1783
|
"isMut": false;
|
1717
1784
|
"isSigner": false;
|
1785
|
+
},
|
1786
|
+
{
|
1787
|
+
"name": "ixSysvar";
|
1788
|
+
"isMut": false;
|
1789
|
+
"isSigner": false;
|
1718
1790
|
}
|
1719
1791
|
];
|
1720
1792
|
"args": [
|
@@ -1771,6 +1843,11 @@ export type Perpetuals = {
|
|
1771
1843
|
"name": "collateralCustodyCustomOracleAccount";
|
1772
1844
|
"isMut": false;
|
1773
1845
|
"isSigner": false;
|
1846
|
+
},
|
1847
|
+
{
|
1848
|
+
"name": "ixSysvar";
|
1849
|
+
"isMut": false;
|
1850
|
+
"isSigner": false;
|
1774
1851
|
}
|
1775
1852
|
];
|
1776
1853
|
"args": [
|
@@ -1832,6 +1909,11 @@ export type Perpetuals = {
|
|
1832
1909
|
"name": "collateralCustodyCustomOracleAccount";
|
1833
1910
|
"isMut": false;
|
1834
1911
|
"isSigner": false;
|
1912
|
+
},
|
1913
|
+
{
|
1914
|
+
"name": "ixSysvar";
|
1915
|
+
"isMut": false;
|
1916
|
+
"isSigner": false;
|
1835
1917
|
}
|
1836
1918
|
];
|
1837
1919
|
"args": [
|
@@ -1893,6 +1975,11 @@ export type Perpetuals = {
|
|
1893
1975
|
"name": "collateralCustodyCustomOracleAccount";
|
1894
1976
|
"isMut": false;
|
1895
1977
|
"isSigner": false;
|
1978
|
+
},
|
1979
|
+
{
|
1980
|
+
"name": "ixSysvar";
|
1981
|
+
"isMut": false;
|
1982
|
+
"isSigner": false;
|
1896
1983
|
}
|
1897
1984
|
];
|
1898
1985
|
"args": [
|
@@ -1954,6 +2041,11 @@ export type Perpetuals = {
|
|
1954
2041
|
"name": "collateralCustodyCustomOracleAccount";
|
1955
2042
|
"isMut": false;
|
1956
2043
|
"isSigner": false;
|
2044
|
+
},
|
2045
|
+
{
|
2046
|
+
"name": "ixSysvar";
|
2047
|
+
"isMut": false;
|
2048
|
+
"isSigner": false;
|
1957
2049
|
}
|
1958
2050
|
];
|
1959
2051
|
"args": [
|
@@ -2013,6 +2105,11 @@ export type Perpetuals = {
|
|
2013
2105
|
"name": "collateralCustodyCustomOracleAccount";
|
2014
2106
|
"isMut": false;
|
2015
2107
|
"isSigner": false;
|
2108
|
+
},
|
2109
|
+
{
|
2110
|
+
"name": "ixSysvar";
|
2111
|
+
"isMut": false;
|
2112
|
+
"isSigner": false;
|
2016
2113
|
}
|
2017
2114
|
];
|
2018
2115
|
"args": [
|
@@ -2052,6 +2149,11 @@ export type Perpetuals = {
|
|
2052
2149
|
"name": "custodyCustomOracleAccount";
|
2053
2150
|
"isMut": false;
|
2054
2151
|
"isSigner": false;
|
2152
|
+
},
|
2153
|
+
{
|
2154
|
+
"name": "ixSysvar";
|
2155
|
+
"isMut": false;
|
2156
|
+
"isSigner": false;
|
2055
2157
|
}
|
2056
2158
|
];
|
2057
2159
|
"args": [
|
@@ -2108,6 +2210,11 @@ export type Perpetuals = {
|
|
2108
2210
|
"name": "dispensingCustodyCustomOracleAccount";
|
2109
2211
|
"isMut": false;
|
2110
2212
|
"isSigner": false;
|
2213
|
+
},
|
2214
|
+
{
|
2215
|
+
"name": "ixSysvar";
|
2216
|
+
"isMut": false;
|
2217
|
+
"isSigner": false;
|
2111
2218
|
}
|
2112
2219
|
];
|
2113
2220
|
"args": [
|
@@ -2134,6 +2241,11 @@ export type Perpetuals = {
|
|
2134
2241
|
"name": "pool";
|
2135
2242
|
"isMut": false;
|
2136
2243
|
"isSigner": false;
|
2244
|
+
},
|
2245
|
+
{
|
2246
|
+
"name": "ixSysvar";
|
2247
|
+
"isMut": false;
|
2248
|
+
"isSigner": false;
|
2137
2249
|
}
|
2138
2250
|
];
|
2139
2251
|
"args": [
|
@@ -2163,6 +2275,11 @@ export type Perpetuals = {
|
|
2163
2275
|
"name": "lpTokenMint";
|
2164
2276
|
"isMut": false;
|
2165
2277
|
"isSigner": false;
|
2278
|
+
},
|
2279
|
+
{
|
2280
|
+
"name": "ixSysvar";
|
2281
|
+
"isMut": false;
|
2282
|
+
"isSigner": false;
|
2166
2283
|
}
|
2167
2284
|
];
|
2168
2285
|
"args": [
|
@@ -3611,6 +3728,50 @@ export type Perpetuals = {
|
|
3611
3728
|
];
|
3612
3729
|
};
|
3613
3730
|
},
|
3731
|
+
{
|
3732
|
+
"name": "BackupOracle";
|
3733
|
+
"type": {
|
3734
|
+
"kind": "struct";
|
3735
|
+
"fields": [
|
3736
|
+
{
|
3737
|
+
"name": "price";
|
3738
|
+
"type": "u64";
|
3739
|
+
},
|
3740
|
+
{
|
3741
|
+
"name": "expo";
|
3742
|
+
"type": "i32";
|
3743
|
+
},
|
3744
|
+
{
|
3745
|
+
"name": "conf";
|
3746
|
+
"type": "u64";
|
3747
|
+
},
|
3748
|
+
{
|
3749
|
+
"name": "ema";
|
3750
|
+
"type": "u64";
|
3751
|
+
},
|
3752
|
+
{
|
3753
|
+
"name": "publishTime";
|
3754
|
+
"type": "i64";
|
3755
|
+
}
|
3756
|
+
];
|
3757
|
+
};
|
3758
|
+
},
|
3759
|
+
{
|
3760
|
+
"name": "PermissionlessPythCache";
|
3761
|
+
"type": {
|
3762
|
+
"kind": "struct";
|
3763
|
+
"fields": [
|
3764
|
+
{
|
3765
|
+
"name": "backupCache";
|
3766
|
+
"type": {
|
3767
|
+
"vec": {
|
3768
|
+
"defined": "BackupOracle";
|
3769
|
+
};
|
3770
|
+
};
|
3771
|
+
}
|
3772
|
+
];
|
3773
|
+
};
|
3774
|
+
},
|
3614
3775
|
{
|
3615
3776
|
"name": "PriceAndFee";
|
3616
3777
|
"type": {
|
@@ -4477,6 +4638,26 @@ export type Perpetuals = {
|
|
4477
4638
|
"code": 6029;
|
4478
4639
|
"name": "MinCollateral";
|
4479
4640
|
"msg": "Minimum collateral limit breached";
|
4641
|
+
},
|
4642
|
+
{
|
4643
|
+
"code": 6030;
|
4644
|
+
"name": "PermissionlessOracleMissingSignature";
|
4645
|
+
"msg": "Permissionless oracle update must be preceded by Ed25519 signature verification instruction";
|
4646
|
+
},
|
4647
|
+
{
|
4648
|
+
"code": 6031;
|
4649
|
+
"name": "PermissionlessOracleMalformedEd25519Data";
|
4650
|
+
"msg": "Ed25519 signature verification data does not match expected format";
|
4651
|
+
},
|
4652
|
+
{
|
4653
|
+
"code": 6032;
|
4654
|
+
"name": "PermissionlessOracleSignerMismatch";
|
4655
|
+
"msg": "Ed25519 signature was not signed by the oracle authority";
|
4656
|
+
},
|
4657
|
+
{
|
4658
|
+
"code": 6033;
|
4659
|
+
"name": "PermissionlessOracleMessageMismatch";
|
4660
|
+
"msg": "Signed message does not match instruction params";
|
4480
4661
|
}
|
4481
4662
|
];
|
4482
4663
|
};
|