@stellar/stellar-base 12.1.1 → 13.0.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.
@@ -8,7 +8,7 @@ exports["default"] = void 0;
8
8
  var XDR = _interopRequireWildcard(require("@stellar/js-xdr"));
9
9
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
10
10
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
11
- // Automatically generated by xdrgen
11
+ // Automatically generated by xdrgen on 2024-09-12T11:09:00-08:00
12
12
  // DO NOT EDIT or your changes may be overwritten
13
13
 
14
14
  /* jshint maxstatements:2147483647 */
@@ -1785,6 +1785,250 @@ var types = XDR.config(function (xdr) {
1785
1785
  envelopeTypeSorobanAuthorization: 9
1786
1786
  });
1787
1787
 
1788
+ // === xdr source ============================================================
1789
+ //
1790
+ // enum BucketListType
1791
+ // {
1792
+ // LIVE = 0,
1793
+ // HOT_ARCHIVE = 1,
1794
+ // COLD_ARCHIVE = 2
1795
+ // };
1796
+ //
1797
+ // ===========================================================================
1798
+ xdr["enum"]("BucketListType", {
1799
+ live: 0,
1800
+ hotArchive: 1,
1801
+ coldArchive: 2
1802
+ });
1803
+
1804
+ // === xdr source ============================================================
1805
+ //
1806
+ // enum BucketEntryType
1807
+ // {
1808
+ // METAENTRY =
1809
+ // -1, // At-and-after protocol 11: bucket metadata, should come first.
1810
+ // LIVEENTRY = 0, // Before protocol 11: created-or-updated;
1811
+ // // At-and-after protocol 11: only updated.
1812
+ // DEADENTRY = 1,
1813
+ // INITENTRY = 2 // At-and-after protocol 11: only created.
1814
+ // };
1815
+ //
1816
+ // ===========================================================================
1817
+ xdr["enum"]("BucketEntryType", {
1818
+ metaentry: -1,
1819
+ liveentry: 0,
1820
+ deadentry: 1,
1821
+ initentry: 2
1822
+ });
1823
+
1824
+ // === xdr source ============================================================
1825
+ //
1826
+ // enum HotArchiveBucketEntryType
1827
+ // {
1828
+ // HOT_ARCHIVE_METAENTRY = -1, // Bucket metadata, should come first.
1829
+ // HOT_ARCHIVE_ARCHIVED = 0, // Entry is Archived
1830
+ // HOT_ARCHIVE_LIVE = 1, // Entry was previously HOT_ARCHIVE_ARCHIVED, or HOT_ARCHIVE_DELETED, but
1831
+ // // has been added back to the live BucketList.
1832
+ // // Does not need to be persisted.
1833
+ // HOT_ARCHIVE_DELETED = 2 // Entry deleted (Note: must be persisted in archive)
1834
+ // };
1835
+ //
1836
+ // ===========================================================================
1837
+ xdr["enum"]("HotArchiveBucketEntryType", {
1838
+ hotArchiveMetaentry: -1,
1839
+ hotArchiveArchived: 0,
1840
+ hotArchiveLive: 1,
1841
+ hotArchiveDeleted: 2
1842
+ });
1843
+
1844
+ // === xdr source ============================================================
1845
+ //
1846
+ // enum ColdArchiveBucketEntryType
1847
+ // {
1848
+ // COLD_ARCHIVE_METAENTRY = -1, // Bucket metadata, should come first.
1849
+ // COLD_ARCHIVE_ARCHIVED_LEAF = 0, // Full LedgerEntry that was archived during the epoch
1850
+ // COLD_ARCHIVE_DELETED_LEAF = 1, // LedgerKey that was deleted during the epoch
1851
+ // COLD_ARCHIVE_BOUNDARY_LEAF = 2, // Dummy leaf representing low/high bound
1852
+ // COLD_ARCHIVE_HASH = 3 // Intermediary Merkle hash entry
1853
+ // };
1854
+ //
1855
+ // ===========================================================================
1856
+ xdr["enum"]("ColdArchiveBucketEntryType", {
1857
+ coldArchiveMetaentry: -1,
1858
+ coldArchiveArchivedLeaf: 0,
1859
+ coldArchiveDeletedLeaf: 1,
1860
+ coldArchiveBoundaryLeaf: 2,
1861
+ coldArchiveHash: 3
1862
+ });
1863
+
1864
+ // === xdr source ============================================================
1865
+ //
1866
+ // union switch (int v)
1867
+ // {
1868
+ // case 0:
1869
+ // void;
1870
+ // case 1:
1871
+ // BucketListType bucketListType;
1872
+ // }
1873
+ //
1874
+ // ===========================================================================
1875
+ xdr.union("BucketMetadataExt", {
1876
+ switchOn: xdr["int"](),
1877
+ switchName: "v",
1878
+ switches: [[0, xdr["void"]()], [1, "bucketListType"]],
1879
+ arms: {
1880
+ bucketListType: xdr.lookup("BucketListType")
1881
+ }
1882
+ });
1883
+
1884
+ // === xdr source ============================================================
1885
+ //
1886
+ // struct BucketMetadata
1887
+ // {
1888
+ // // Indicates the protocol version used to create / merge this bucket.
1889
+ // uint32 ledgerVersion;
1890
+ //
1891
+ // // reserved for future use
1892
+ // union switch (int v)
1893
+ // {
1894
+ // case 0:
1895
+ // void;
1896
+ // case 1:
1897
+ // BucketListType bucketListType;
1898
+ // }
1899
+ // ext;
1900
+ // };
1901
+ //
1902
+ // ===========================================================================
1903
+ xdr.struct("BucketMetadata", [["ledgerVersion", xdr.lookup("Uint32")], ["ext", xdr.lookup("BucketMetadataExt")]]);
1904
+
1905
+ // === xdr source ============================================================
1906
+ //
1907
+ // union BucketEntry switch (BucketEntryType type)
1908
+ // {
1909
+ // case LIVEENTRY:
1910
+ // case INITENTRY:
1911
+ // LedgerEntry liveEntry;
1912
+ //
1913
+ // case DEADENTRY:
1914
+ // LedgerKey deadEntry;
1915
+ // case METAENTRY:
1916
+ // BucketMetadata metaEntry;
1917
+ // };
1918
+ //
1919
+ // ===========================================================================
1920
+ xdr.union("BucketEntry", {
1921
+ switchOn: xdr.lookup("BucketEntryType"),
1922
+ switchName: "type",
1923
+ switches: [["liveentry", "liveEntry"], ["initentry", "liveEntry"], ["deadentry", "deadEntry"], ["metaentry", "metaEntry"]],
1924
+ arms: {
1925
+ liveEntry: xdr.lookup("LedgerEntry"),
1926
+ deadEntry: xdr.lookup("LedgerKey"),
1927
+ metaEntry: xdr.lookup("BucketMetadata")
1928
+ }
1929
+ });
1930
+
1931
+ // === xdr source ============================================================
1932
+ //
1933
+ // union HotArchiveBucketEntry switch (HotArchiveBucketEntryType type)
1934
+ // {
1935
+ // case HOT_ARCHIVE_ARCHIVED:
1936
+ // LedgerEntry archivedEntry;
1937
+ //
1938
+ // case HOT_ARCHIVE_LIVE:
1939
+ // case HOT_ARCHIVE_DELETED:
1940
+ // LedgerKey key;
1941
+ // case HOT_ARCHIVE_METAENTRY:
1942
+ // BucketMetadata metaEntry;
1943
+ // };
1944
+ //
1945
+ // ===========================================================================
1946
+ xdr.union("HotArchiveBucketEntry", {
1947
+ switchOn: xdr.lookup("HotArchiveBucketEntryType"),
1948
+ switchName: "type",
1949
+ switches: [["hotArchiveArchived", "archivedEntry"], ["hotArchiveLive", "key"], ["hotArchiveDeleted", "key"], ["hotArchiveMetaentry", "metaEntry"]],
1950
+ arms: {
1951
+ archivedEntry: xdr.lookup("LedgerEntry"),
1952
+ key: xdr.lookup("LedgerKey"),
1953
+ metaEntry: xdr.lookup("BucketMetadata")
1954
+ }
1955
+ });
1956
+
1957
+ // === xdr source ============================================================
1958
+ //
1959
+ // struct ColdArchiveArchivedLeaf
1960
+ // {
1961
+ // uint32 index;
1962
+ // LedgerEntry archivedEntry;
1963
+ // };
1964
+ //
1965
+ // ===========================================================================
1966
+ xdr.struct("ColdArchiveArchivedLeaf", [["index", xdr.lookup("Uint32")], ["archivedEntry", xdr.lookup("LedgerEntry")]]);
1967
+
1968
+ // === xdr source ============================================================
1969
+ //
1970
+ // struct ColdArchiveDeletedLeaf
1971
+ // {
1972
+ // uint32 index;
1973
+ // LedgerKey deletedKey;
1974
+ // };
1975
+ //
1976
+ // ===========================================================================
1977
+ xdr.struct("ColdArchiveDeletedLeaf", [["index", xdr.lookup("Uint32")], ["deletedKey", xdr.lookup("LedgerKey")]]);
1978
+
1979
+ // === xdr source ============================================================
1980
+ //
1981
+ // struct ColdArchiveBoundaryLeaf
1982
+ // {
1983
+ // uint32 index;
1984
+ // bool isLowerBound;
1985
+ // };
1986
+ //
1987
+ // ===========================================================================
1988
+ xdr.struct("ColdArchiveBoundaryLeaf", [["index", xdr.lookup("Uint32")], ["isLowerBound", xdr.bool()]]);
1989
+
1990
+ // === xdr source ============================================================
1991
+ //
1992
+ // struct ColdArchiveHashEntry
1993
+ // {
1994
+ // uint32 index;
1995
+ // uint32 level;
1996
+ // Hash hash;
1997
+ // };
1998
+ //
1999
+ // ===========================================================================
2000
+ xdr.struct("ColdArchiveHashEntry", [["index", xdr.lookup("Uint32")], ["level", xdr.lookup("Uint32")], ["hash", xdr.lookup("Hash")]]);
2001
+
2002
+ // === xdr source ============================================================
2003
+ //
2004
+ // union ColdArchiveBucketEntry switch (ColdArchiveBucketEntryType type)
2005
+ // {
2006
+ // case COLD_ARCHIVE_METAENTRY:
2007
+ // BucketMetadata metaEntry;
2008
+ // case COLD_ARCHIVE_ARCHIVED_LEAF:
2009
+ // ColdArchiveArchivedLeaf archivedLeaf;
2010
+ // case COLD_ARCHIVE_DELETED_LEAF:
2011
+ // ColdArchiveDeletedLeaf deletedLeaf;
2012
+ // case COLD_ARCHIVE_BOUNDARY_LEAF:
2013
+ // ColdArchiveBoundaryLeaf boundaryLeaf;
2014
+ // case COLD_ARCHIVE_HASH:
2015
+ // ColdArchiveHashEntry hashEntry;
2016
+ // };
2017
+ //
2018
+ // ===========================================================================
2019
+ xdr.union("ColdArchiveBucketEntry", {
2020
+ switchOn: xdr.lookup("ColdArchiveBucketEntryType"),
2021
+ switchName: "type",
2022
+ switches: [["coldArchiveMetaentry", "metaEntry"], ["coldArchiveArchivedLeaf", "archivedLeaf"], ["coldArchiveDeletedLeaf", "deletedLeaf"], ["coldArchiveBoundaryLeaf", "boundaryLeaf"], ["coldArchiveHash", "hashEntry"]],
2023
+ arms: {
2024
+ metaEntry: xdr.lookup("BucketMetadata"),
2025
+ archivedLeaf: xdr.lookup("ColdArchiveArchivedLeaf"),
2026
+ deletedLeaf: xdr.lookup("ColdArchiveDeletedLeaf"),
2027
+ boundaryLeaf: xdr.lookup("ColdArchiveBoundaryLeaf"),
2028
+ hashEntry: xdr.lookup("ColdArchiveHashEntry")
2029
+ }
2030
+ });
2031
+
1788
2032
  // === xdr source ============================================================
1789
2033
  //
1790
2034
  // typedef opaque UpgradeType<128>;
@@ -2068,87 +2312,6 @@ var types = XDR.config(function (xdr) {
2068
2312
  // ===========================================================================
2069
2313
  xdr.struct("ConfigUpgradeSet", [["updatedEntry", xdr.varArray(xdr.lookup("ConfigSettingEntry"), 2147483647)]]);
2070
2314
 
2071
- // === xdr source ============================================================
2072
- //
2073
- // enum BucketEntryType
2074
- // {
2075
- // METAENTRY =
2076
- // -1, // At-and-after protocol 11: bucket metadata, should come first.
2077
- // LIVEENTRY = 0, // Before protocol 11: created-or-updated;
2078
- // // At-and-after protocol 11: only updated.
2079
- // DEADENTRY = 1,
2080
- // INITENTRY = 2 // At-and-after protocol 11: only created.
2081
- // };
2082
- //
2083
- // ===========================================================================
2084
- xdr["enum"]("BucketEntryType", {
2085
- metaentry: -1,
2086
- liveentry: 0,
2087
- deadentry: 1,
2088
- initentry: 2
2089
- });
2090
-
2091
- // === xdr source ============================================================
2092
- //
2093
- // union switch (int v)
2094
- // {
2095
- // case 0:
2096
- // void;
2097
- // }
2098
- //
2099
- // ===========================================================================
2100
- xdr.union("BucketMetadataExt", {
2101
- switchOn: xdr["int"](),
2102
- switchName: "v",
2103
- switches: [[0, xdr["void"]()]],
2104
- arms: {}
2105
- });
2106
-
2107
- // === xdr source ============================================================
2108
- //
2109
- // struct BucketMetadata
2110
- // {
2111
- // // Indicates the protocol version used to create / merge this bucket.
2112
- // uint32 ledgerVersion;
2113
- //
2114
- // // reserved for future use
2115
- // union switch (int v)
2116
- // {
2117
- // case 0:
2118
- // void;
2119
- // }
2120
- // ext;
2121
- // };
2122
- //
2123
- // ===========================================================================
2124
- xdr.struct("BucketMetadata", [["ledgerVersion", xdr.lookup("Uint32")], ["ext", xdr.lookup("BucketMetadataExt")]]);
2125
-
2126
- // === xdr source ============================================================
2127
- //
2128
- // union BucketEntry switch (BucketEntryType type)
2129
- // {
2130
- // case LIVEENTRY:
2131
- // case INITENTRY:
2132
- // LedgerEntry liveEntry;
2133
- //
2134
- // case DEADENTRY:
2135
- // LedgerKey deadEntry;
2136
- // case METAENTRY:
2137
- // BucketMetadata metaEntry;
2138
- // };
2139
- //
2140
- // ===========================================================================
2141
- xdr.union("BucketEntry", {
2142
- switchOn: xdr.lookup("BucketEntryType"),
2143
- switchName: "type",
2144
- switches: [["liveentry", "liveEntry"], ["initentry", "liveEntry"], ["deadentry", "deadEntry"], ["metaentry", "metaEntry"]],
2145
- arms: {
2146
- liveEntry: xdr.lookup("LedgerEntry"),
2147
- deadEntry: xdr.lookup("LedgerKey"),
2148
- metaEntry: xdr.lookup("BucketMetadata")
2149
- }
2150
- });
2151
-
2152
2315
  // === xdr source ============================================================
2153
2316
  //
2154
2317
  // enum TxSetComponentType
@@ -2600,6 +2763,13 @@ var types = XDR.config(function (xdr) {
2600
2763
  // ===========================================================================
2601
2764
  xdr.struct("DiagnosticEvent", [["inSuccessfulContractCall", xdr.bool()], ["event", xdr.lookup("ContractEvent")]]);
2602
2765
 
2766
+ // === xdr source ============================================================
2767
+ //
2768
+ // typedef DiagnosticEvent DiagnosticEvents<>;
2769
+ //
2770
+ // ===========================================================================
2771
+ xdr.typedef("DiagnosticEvents", xdr.varArray(xdr.lookup("DiagnosticEvent"), 2147483647));
2772
+
2603
2773
  // === xdr source ============================================================
2604
2774
  //
2605
2775
  // struct SorobanTransactionMetaExtV1
@@ -3054,7 +3224,12 @@ var types = XDR.config(function (xdr) {
3054
3224
  // SEND_MORE_EXTENDED = 20,
3055
3225
  //
3056
3226
  // FLOOD_ADVERT = 18,
3057
- // FLOOD_DEMAND = 19
3227
+ // FLOOD_DEMAND = 19,
3228
+ //
3229
+ // TIME_SLICED_SURVEY_REQUEST = 21,
3230
+ // TIME_SLICED_SURVEY_RESPONSE = 22,
3231
+ // TIME_SLICED_SURVEY_START_COLLECTING = 23,
3232
+ // TIME_SLICED_SURVEY_STOP_COLLECTING = 24
3058
3233
  // };
3059
3234
  //
3060
3235
  // ===========================================================================
@@ -3078,7 +3253,11 @@ var types = XDR.config(function (xdr) {
3078
3253
  sendMore: 16,
3079
3254
  sendMoreExtended: 20,
3080
3255
  floodAdvert: 18,
3081
- floodDemand: 19
3256
+ floodDemand: 19,
3257
+ timeSlicedSurveyRequest: 21,
3258
+ timeSlicedSurveyResponse: 22,
3259
+ timeSlicedSurveyStartCollecting: 23,
3260
+ timeSlicedSurveyStopCollecting: 24
3082
3261
  });
3083
3262
 
3084
3263
  // === xdr source ============================================================
@@ -3096,12 +3275,14 @@ var types = XDR.config(function (xdr) {
3096
3275
  //
3097
3276
  // enum SurveyMessageCommandType
3098
3277
  // {
3099
- // SURVEY_TOPOLOGY = 0
3278
+ // SURVEY_TOPOLOGY = 0,
3279
+ // TIME_SLICED_SURVEY_TOPOLOGY = 1
3100
3280
  // };
3101
3281
  //
3102
3282
  // ===========================================================================
3103
3283
  xdr["enum"]("SurveyMessageCommandType", {
3104
- surveyTopology: 0
3284
+ surveyTopology: 0,
3285
+ timeSlicedSurveyTopology: 1
3105
3286
  });
3106
3287
 
3107
3288
  // === xdr source ============================================================
@@ -3109,15 +3290,63 @@ var types = XDR.config(function (xdr) {
3109
3290
  // enum SurveyMessageResponseType
3110
3291
  // {
3111
3292
  // SURVEY_TOPOLOGY_RESPONSE_V0 = 0,
3112
- // SURVEY_TOPOLOGY_RESPONSE_V1 = 1
3293
+ // SURVEY_TOPOLOGY_RESPONSE_V1 = 1,
3294
+ // SURVEY_TOPOLOGY_RESPONSE_V2 = 2
3113
3295
  // };
3114
3296
  //
3115
3297
  // ===========================================================================
3116
3298
  xdr["enum"]("SurveyMessageResponseType", {
3117
3299
  surveyTopologyResponseV0: 0,
3118
- surveyTopologyResponseV1: 1
3300
+ surveyTopologyResponseV1: 1,
3301
+ surveyTopologyResponseV2: 2
3119
3302
  });
3120
3303
 
3304
+ // === xdr source ============================================================
3305
+ //
3306
+ // struct TimeSlicedSurveyStartCollectingMessage
3307
+ // {
3308
+ // NodeID surveyorID;
3309
+ // uint32 nonce;
3310
+ // uint32 ledgerNum;
3311
+ // };
3312
+ //
3313
+ // ===========================================================================
3314
+ xdr.struct("TimeSlicedSurveyStartCollectingMessage", [["surveyorId", xdr.lookup("NodeId")], ["nonce", xdr.lookup("Uint32")], ["ledgerNum", xdr.lookup("Uint32")]]);
3315
+
3316
+ // === xdr source ============================================================
3317
+ //
3318
+ // struct SignedTimeSlicedSurveyStartCollectingMessage
3319
+ // {
3320
+ // Signature signature;
3321
+ // TimeSlicedSurveyStartCollectingMessage startCollecting;
3322
+ // };
3323
+ //
3324
+ // ===========================================================================
3325
+ xdr.struct("SignedTimeSlicedSurveyStartCollectingMessage", [["signature", xdr.lookup("Signature")], ["startCollecting", xdr.lookup("TimeSlicedSurveyStartCollectingMessage")]]);
3326
+
3327
+ // === xdr source ============================================================
3328
+ //
3329
+ // struct TimeSlicedSurveyStopCollectingMessage
3330
+ // {
3331
+ // NodeID surveyorID;
3332
+ // uint32 nonce;
3333
+ // uint32 ledgerNum;
3334
+ // };
3335
+ //
3336
+ // ===========================================================================
3337
+ xdr.struct("TimeSlicedSurveyStopCollectingMessage", [["surveyorId", xdr.lookup("NodeId")], ["nonce", xdr.lookup("Uint32")], ["ledgerNum", xdr.lookup("Uint32")]]);
3338
+
3339
+ // === xdr source ============================================================
3340
+ //
3341
+ // struct SignedTimeSlicedSurveyStopCollectingMessage
3342
+ // {
3343
+ // Signature signature;
3344
+ // TimeSlicedSurveyStopCollectingMessage stopCollecting;
3345
+ // };
3346
+ //
3347
+ // ===========================================================================
3348
+ xdr.struct("SignedTimeSlicedSurveyStopCollectingMessage", [["signature", xdr.lookup("Signature")], ["stopCollecting", xdr.lookup("TimeSlicedSurveyStopCollectingMessage")]]);
3349
+
3121
3350
  // === xdr source ============================================================
3122
3351
  //
3123
3352
  // struct SurveyRequestMessage
@@ -3132,6 +3361,19 @@ var types = XDR.config(function (xdr) {
3132
3361
  // ===========================================================================
3133
3362
  xdr.struct("SurveyRequestMessage", [["surveyorPeerId", xdr.lookup("NodeId")], ["surveyedPeerId", xdr.lookup("NodeId")], ["ledgerNum", xdr.lookup("Uint32")], ["encryptionKey", xdr.lookup("Curve25519Public")], ["commandType", xdr.lookup("SurveyMessageCommandType")]]);
3134
3363
 
3364
+ // === xdr source ============================================================
3365
+ //
3366
+ // struct TimeSlicedSurveyRequestMessage
3367
+ // {
3368
+ // SurveyRequestMessage request;
3369
+ // uint32 nonce;
3370
+ // uint32 inboundPeersIndex;
3371
+ // uint32 outboundPeersIndex;
3372
+ // };
3373
+ //
3374
+ // ===========================================================================
3375
+ xdr.struct("TimeSlicedSurveyRequestMessage", [["request", xdr.lookup("SurveyRequestMessage")], ["nonce", xdr.lookup("Uint32")], ["inboundPeersIndex", xdr.lookup("Uint32")], ["outboundPeersIndex", xdr.lookup("Uint32")]]);
3376
+
3135
3377
  // === xdr source ============================================================
3136
3378
  //
3137
3379
  // struct SignedSurveyRequestMessage
@@ -3143,6 +3385,17 @@ var types = XDR.config(function (xdr) {
3143
3385
  // ===========================================================================
3144
3386
  xdr.struct("SignedSurveyRequestMessage", [["requestSignature", xdr.lookup("Signature")], ["request", xdr.lookup("SurveyRequestMessage")]]);
3145
3387
 
3388
+ // === xdr source ============================================================
3389
+ //
3390
+ // struct SignedTimeSlicedSurveyRequestMessage
3391
+ // {
3392
+ // Signature requestSignature;
3393
+ // TimeSlicedSurveyRequestMessage request;
3394
+ // };
3395
+ //
3396
+ // ===========================================================================
3397
+ xdr.struct("SignedTimeSlicedSurveyRequestMessage", [["requestSignature", xdr.lookup("Signature")], ["request", xdr.lookup("TimeSlicedSurveyRequestMessage")]]);
3398
+
3146
3399
  // === xdr source ============================================================
3147
3400
  //
3148
3401
  // typedef opaque EncryptedBody<64000>;
@@ -3164,6 +3417,17 @@ var types = XDR.config(function (xdr) {
3164
3417
  // ===========================================================================
3165
3418
  xdr.struct("SurveyResponseMessage", [["surveyorPeerId", xdr.lookup("NodeId")], ["surveyedPeerId", xdr.lookup("NodeId")], ["ledgerNum", xdr.lookup("Uint32")], ["commandType", xdr.lookup("SurveyMessageCommandType")], ["encryptedBody", xdr.lookup("EncryptedBody")]]);
3166
3419
 
3420
+ // === xdr source ============================================================
3421
+ //
3422
+ // struct TimeSlicedSurveyResponseMessage
3423
+ // {
3424
+ // SurveyResponseMessage response;
3425
+ // uint32 nonce;
3426
+ // };
3427
+ //
3428
+ // ===========================================================================
3429
+ xdr.struct("TimeSlicedSurveyResponseMessage", [["response", xdr.lookup("SurveyResponseMessage")], ["nonce", xdr.lookup("Uint32")]]);
3430
+
3167
3431
  // === xdr source ============================================================
3168
3432
  //
3169
3433
  // struct SignedSurveyResponseMessage
@@ -3175,6 +3439,17 @@ var types = XDR.config(function (xdr) {
3175
3439
  // ===========================================================================
3176
3440
  xdr.struct("SignedSurveyResponseMessage", [["responseSignature", xdr.lookup("Signature")], ["response", xdr.lookup("SurveyResponseMessage")]]);
3177
3441
 
3442
+ // === xdr source ============================================================
3443
+ //
3444
+ // struct SignedTimeSlicedSurveyResponseMessage
3445
+ // {
3446
+ // Signature responseSignature;
3447
+ // TimeSlicedSurveyResponseMessage response;
3448
+ // };
3449
+ //
3450
+ // ===========================================================================
3451
+ xdr.struct("SignedTimeSlicedSurveyResponseMessage", [["responseSignature", xdr.lookup("Signature")], ["response", xdr.lookup("TimeSlicedSurveyResponseMessage")]]);
3452
+
3178
3453
  // === xdr source ============================================================
3179
3454
  //
3180
3455
  // struct PeerStats
@@ -3208,6 +3483,49 @@ var types = XDR.config(function (xdr) {
3208
3483
  // ===========================================================================
3209
3484
  xdr.typedef("PeerStatList", xdr.varArray(xdr.lookup("PeerStats"), 25));
3210
3485
 
3486
+ // === xdr source ============================================================
3487
+ //
3488
+ // struct TimeSlicedNodeData
3489
+ // {
3490
+ // uint32 addedAuthenticatedPeers;
3491
+ // uint32 droppedAuthenticatedPeers;
3492
+ // uint32 totalInboundPeerCount;
3493
+ // uint32 totalOutboundPeerCount;
3494
+ //
3495
+ // // SCP stats
3496
+ // uint32 p75SCPFirstToSelfLatencyMs;
3497
+ // uint32 p75SCPSelfToOtherLatencyMs;
3498
+ //
3499
+ // // How many times the node lost sync in the time slice
3500
+ // uint32 lostSyncCount;
3501
+ //
3502
+ // // Config data
3503
+ // bool isValidator;
3504
+ // uint32 maxInboundPeerCount;
3505
+ // uint32 maxOutboundPeerCount;
3506
+ // };
3507
+ //
3508
+ // ===========================================================================
3509
+ xdr.struct("TimeSlicedNodeData", [["addedAuthenticatedPeers", xdr.lookup("Uint32")], ["droppedAuthenticatedPeers", xdr.lookup("Uint32")], ["totalInboundPeerCount", xdr.lookup("Uint32")], ["totalOutboundPeerCount", xdr.lookup("Uint32")], ["p75ScpFirstToSelfLatencyMs", xdr.lookup("Uint32")], ["p75ScpSelfToOtherLatencyMs", xdr.lookup("Uint32")], ["lostSyncCount", xdr.lookup("Uint32")], ["isValidator", xdr.bool()], ["maxInboundPeerCount", xdr.lookup("Uint32")], ["maxOutboundPeerCount", xdr.lookup("Uint32")]]);
3510
+
3511
+ // === xdr source ============================================================
3512
+ //
3513
+ // struct TimeSlicedPeerData
3514
+ // {
3515
+ // PeerStats peerStats;
3516
+ // uint32 averageLatencyMs;
3517
+ // };
3518
+ //
3519
+ // ===========================================================================
3520
+ xdr.struct("TimeSlicedPeerData", [["peerStats", xdr.lookup("PeerStats")], ["averageLatencyMs", xdr.lookup("Uint32")]]);
3521
+
3522
+ // === xdr source ============================================================
3523
+ //
3524
+ // typedef TimeSlicedPeerData TimeSlicedPeerDataList<25>;
3525
+ //
3526
+ // ===========================================================================
3527
+ xdr.typedef("TimeSlicedPeerDataList", xdr.varArray(xdr.lookup("TimeSlicedPeerData"), 25));
3528
+
3211
3529
  // === xdr source ============================================================
3212
3530
  //
3213
3531
  // struct TopologyResponseBodyV0
@@ -3239,6 +3557,18 @@ var types = XDR.config(function (xdr) {
3239
3557
  // ===========================================================================
3240
3558
  xdr.struct("TopologyResponseBodyV1", [["inboundPeers", xdr.lookup("PeerStatList")], ["outboundPeers", xdr.lookup("PeerStatList")], ["totalInboundPeerCount", xdr.lookup("Uint32")], ["totalOutboundPeerCount", xdr.lookup("Uint32")], ["maxInboundPeerCount", xdr.lookup("Uint32")], ["maxOutboundPeerCount", xdr.lookup("Uint32")]]);
3241
3559
 
3560
+ // === xdr source ============================================================
3561
+ //
3562
+ // struct TopologyResponseBodyV2
3563
+ // {
3564
+ // TimeSlicedPeerDataList inboundPeers;
3565
+ // TimeSlicedPeerDataList outboundPeers;
3566
+ // TimeSlicedNodeData nodeData;
3567
+ // };
3568
+ //
3569
+ // ===========================================================================
3570
+ xdr.struct("TopologyResponseBodyV2", [["inboundPeers", xdr.lookup("TimeSlicedPeerDataList")], ["outboundPeers", xdr.lookup("TimeSlicedPeerDataList")], ["nodeData", xdr.lookup("TimeSlicedNodeData")]]);
3571
+
3242
3572
  // === xdr source ============================================================
3243
3573
  //
3244
3574
  // union SurveyResponseBody switch (SurveyMessageResponseType type)
@@ -3247,16 +3577,19 @@ var types = XDR.config(function (xdr) {
3247
3577
  // TopologyResponseBodyV0 topologyResponseBodyV0;
3248
3578
  // case SURVEY_TOPOLOGY_RESPONSE_V1:
3249
3579
  // TopologyResponseBodyV1 topologyResponseBodyV1;
3580
+ // case SURVEY_TOPOLOGY_RESPONSE_V2:
3581
+ // TopologyResponseBodyV2 topologyResponseBodyV2;
3250
3582
  // };
3251
3583
  //
3252
3584
  // ===========================================================================
3253
3585
  xdr.union("SurveyResponseBody", {
3254
3586
  switchOn: xdr.lookup("SurveyMessageResponseType"),
3255
3587
  switchName: "type",
3256
- switches: [["surveyTopologyResponseV0", "topologyResponseBodyV0"], ["surveyTopologyResponseV1", "topologyResponseBodyV1"]],
3588
+ switches: [["surveyTopologyResponseV0", "topologyResponseBodyV0"], ["surveyTopologyResponseV1", "topologyResponseBodyV1"], ["surveyTopologyResponseV2", "topologyResponseBodyV2"]],
3257
3589
  arms: {
3258
3590
  topologyResponseBodyV0: xdr.lookup("TopologyResponseBodyV0"),
3259
- topologyResponseBodyV1: xdr.lookup("TopologyResponseBodyV1")
3591
+ topologyResponseBodyV1: xdr.lookup("TopologyResponseBodyV1"),
3592
+ topologyResponseBodyV2: xdr.lookup("TopologyResponseBodyV2")
3260
3593
  }
3261
3594
  });
3262
3595
 
@@ -3341,6 +3674,20 @@ var types = XDR.config(function (xdr) {
3341
3674
  // case SURVEY_RESPONSE:
3342
3675
  // SignedSurveyResponseMessage signedSurveyResponseMessage;
3343
3676
  //
3677
+ // case TIME_SLICED_SURVEY_REQUEST:
3678
+ // SignedTimeSlicedSurveyRequestMessage signedTimeSlicedSurveyRequestMessage;
3679
+ //
3680
+ // case TIME_SLICED_SURVEY_RESPONSE:
3681
+ // SignedTimeSlicedSurveyResponseMessage signedTimeSlicedSurveyResponseMessage;
3682
+ //
3683
+ // case TIME_SLICED_SURVEY_START_COLLECTING:
3684
+ // SignedTimeSlicedSurveyStartCollectingMessage
3685
+ // signedTimeSlicedSurveyStartCollectingMessage;
3686
+ //
3687
+ // case TIME_SLICED_SURVEY_STOP_COLLECTING:
3688
+ // SignedTimeSlicedSurveyStopCollectingMessage
3689
+ // signedTimeSlicedSurveyStopCollectingMessage;
3690
+ //
3344
3691
  // // SCP
3345
3692
  // case GET_SCP_QUORUMSET:
3346
3693
  // uint256 qSetHash;
@@ -3365,7 +3712,7 @@ var types = XDR.config(function (xdr) {
3365
3712
  xdr.union("StellarMessage", {
3366
3713
  switchOn: xdr.lookup("MessageType"),
3367
3714
  switchName: "type",
3368
- switches: [["errorMsg", "error"], ["hello", "hello"], ["auth", "auth"], ["dontHave", "dontHave"], ["getPeers", xdr["void"]()], ["peers", "peers"], ["getTxSet", "txSetHash"], ["txSet", "txSet"], ["generalizedTxSet", "generalizedTxSet"], ["transaction", "transaction"], ["surveyRequest", "signedSurveyRequestMessage"], ["surveyResponse", "signedSurveyResponseMessage"], ["getScpQuorumset", "qSetHash"], ["scpQuorumset", "qSet"], ["scpMessage", "envelope"], ["getScpState", "getScpLedgerSeq"], ["sendMore", "sendMoreMessage"], ["sendMoreExtended", "sendMoreExtendedMessage"], ["floodAdvert", "floodAdvert"], ["floodDemand", "floodDemand"]],
3715
+ switches: [["errorMsg", "error"], ["hello", "hello"], ["auth", "auth"], ["dontHave", "dontHave"], ["getPeers", xdr["void"]()], ["peers", "peers"], ["getTxSet", "txSetHash"], ["txSet", "txSet"], ["generalizedTxSet", "generalizedTxSet"], ["transaction", "transaction"], ["surveyRequest", "signedSurveyRequestMessage"], ["surveyResponse", "signedSurveyResponseMessage"], ["timeSlicedSurveyRequest", "signedTimeSlicedSurveyRequestMessage"], ["timeSlicedSurveyResponse", "signedTimeSlicedSurveyResponseMessage"], ["timeSlicedSurveyStartCollecting", "signedTimeSlicedSurveyStartCollectingMessage"], ["timeSlicedSurveyStopCollecting", "signedTimeSlicedSurveyStopCollectingMessage"], ["getScpQuorumset", "qSetHash"], ["scpQuorumset", "qSet"], ["scpMessage", "envelope"], ["getScpState", "getScpLedgerSeq"], ["sendMore", "sendMoreMessage"], ["sendMoreExtended", "sendMoreExtendedMessage"], ["floodAdvert", "floodAdvert"], ["floodDemand", "floodDemand"]],
3369
3716
  arms: {
3370
3717
  error: xdr.lookup("Error"),
3371
3718
  hello: xdr.lookup("Hello"),
@@ -3378,6 +3725,10 @@ var types = XDR.config(function (xdr) {
3378
3725
  transaction: xdr.lookup("TransactionEnvelope"),
3379
3726
  signedSurveyRequestMessage: xdr.lookup("SignedSurveyRequestMessage"),
3380
3727
  signedSurveyResponseMessage: xdr.lookup("SignedSurveyResponseMessage"),
3728
+ signedTimeSlicedSurveyRequestMessage: xdr.lookup("SignedTimeSlicedSurveyRequestMessage"),
3729
+ signedTimeSlicedSurveyResponseMessage: xdr.lookup("SignedTimeSlicedSurveyResponseMessage"),
3730
+ signedTimeSlicedSurveyStartCollectingMessage: xdr.lookup("SignedTimeSlicedSurveyStartCollectingMessage"),
3731
+ signedTimeSlicedSurveyStopCollectingMessage: xdr.lookup("SignedTimeSlicedSurveyStopCollectingMessage"),
3381
3732
  qSetHash: xdr.lookup("Uint256"),
3382
3733
  qSet: xdr.lookup("ScpQuorumSet"),
3383
3734
  envelope: xdr.lookup("ScpEnvelope"),
@@ -3929,14 +4280,16 @@ var types = XDR.config(function (xdr) {
3929
4280
  // {
3930
4281
  // HOST_FUNCTION_TYPE_INVOKE_CONTRACT = 0,
3931
4282
  // HOST_FUNCTION_TYPE_CREATE_CONTRACT = 1,
3932
- // HOST_FUNCTION_TYPE_UPLOAD_CONTRACT_WASM = 2
4283
+ // HOST_FUNCTION_TYPE_UPLOAD_CONTRACT_WASM = 2,
4284
+ // HOST_FUNCTION_TYPE_CREATE_CONTRACT_V2 = 3
3933
4285
  // };
3934
4286
  //
3935
4287
  // ===========================================================================
3936
4288
  xdr["enum"]("HostFunctionType", {
3937
4289
  hostFunctionTypeInvokeContract: 0,
3938
4290
  hostFunctionTypeCreateContract: 1,
3939
- hostFunctionTypeUploadContractWasm: 2
4291
+ hostFunctionTypeUploadContractWasm: 2,
4292
+ hostFunctionTypeCreateContractV2: 3
3940
4293
  });
3941
4294
 
3942
4295
  // === xdr source ============================================================
@@ -4000,6 +4353,19 @@ var types = XDR.config(function (xdr) {
4000
4353
  // ===========================================================================
4001
4354
  xdr.struct("CreateContractArgs", [["contractIdPreimage", xdr.lookup("ContractIdPreimage")], ["executable", xdr.lookup("ContractExecutable")]]);
4002
4355
 
4356
+ // === xdr source ============================================================
4357
+ //
4358
+ // struct CreateContractArgsV2
4359
+ // {
4360
+ // ContractIDPreimage contractIDPreimage;
4361
+ // ContractExecutable executable;
4362
+ // // Arguments of the contract's constructor.
4363
+ // SCVal constructorArgs<>;
4364
+ // };
4365
+ //
4366
+ // ===========================================================================
4367
+ xdr.struct("CreateContractArgsV2", [["contractIdPreimage", xdr.lookup("ContractIdPreimage")], ["executable", xdr.lookup("ContractExecutable")], ["constructorArgs", xdr.varArray(xdr.lookup("ScVal"), 2147483647)]]);
4368
+
4003
4369
  // === xdr source ============================================================
4004
4370
  //
4005
4371
  // struct InvokeContractArgs {
@@ -4021,17 +4387,20 @@ var types = XDR.config(function (xdr) {
4021
4387
  // CreateContractArgs createContract;
4022
4388
  // case HOST_FUNCTION_TYPE_UPLOAD_CONTRACT_WASM:
4023
4389
  // opaque wasm<>;
4390
+ // case HOST_FUNCTION_TYPE_CREATE_CONTRACT_V2:
4391
+ // CreateContractArgsV2 createContractV2;
4024
4392
  // };
4025
4393
  //
4026
4394
  // ===========================================================================
4027
4395
  xdr.union("HostFunction", {
4028
4396
  switchOn: xdr.lookup("HostFunctionType"),
4029
4397
  switchName: "type",
4030
- switches: [["hostFunctionTypeInvokeContract", "invokeContract"], ["hostFunctionTypeCreateContract", "createContract"], ["hostFunctionTypeUploadContractWasm", "wasm"]],
4398
+ switches: [["hostFunctionTypeInvokeContract", "invokeContract"], ["hostFunctionTypeCreateContract", "createContract"], ["hostFunctionTypeUploadContractWasm", "wasm"], ["hostFunctionTypeCreateContractV2", "createContractV2"]],
4031
4399
  arms: {
4032
4400
  invokeContract: xdr.lookup("InvokeContractArgs"),
4033
4401
  createContract: xdr.lookup("CreateContractArgs"),
4034
- wasm: xdr.varOpaque()
4402
+ wasm: xdr.varOpaque(),
4403
+ createContractV2: xdr.lookup("CreateContractArgsV2")
4035
4404
  }
4036
4405
  });
4037
4406
 
@@ -4040,13 +4409,15 @@ var types = XDR.config(function (xdr) {
4040
4409
  // enum SorobanAuthorizedFunctionType
4041
4410
  // {
4042
4411
  // SOROBAN_AUTHORIZED_FUNCTION_TYPE_CONTRACT_FN = 0,
4043
- // SOROBAN_AUTHORIZED_FUNCTION_TYPE_CREATE_CONTRACT_HOST_FN = 1
4412
+ // SOROBAN_AUTHORIZED_FUNCTION_TYPE_CREATE_CONTRACT_HOST_FN = 1,
4413
+ // SOROBAN_AUTHORIZED_FUNCTION_TYPE_CREATE_CONTRACT_V2_HOST_FN = 2
4044
4414
  // };
4045
4415
  //
4046
4416
  // ===========================================================================
4047
4417
  xdr["enum"]("SorobanAuthorizedFunctionType", {
4048
4418
  sorobanAuthorizedFunctionTypeContractFn: 0,
4049
- sorobanAuthorizedFunctionTypeCreateContractHostFn: 1
4419
+ sorobanAuthorizedFunctionTypeCreateContractHostFn: 1,
4420
+ sorobanAuthorizedFunctionTypeCreateContractV2HostFn: 2
4050
4421
  });
4051
4422
 
4052
4423
  // === xdr source ============================================================
@@ -4055,18 +4426,29 @@ var types = XDR.config(function (xdr) {
4055
4426
  // {
4056
4427
  // case SOROBAN_AUTHORIZED_FUNCTION_TYPE_CONTRACT_FN:
4057
4428
  // InvokeContractArgs contractFn;
4429
+ // // This variant of auth payload for creating new contract instances
4430
+ // // doesn't allow specifying the constructor arguments, creating contracts
4431
+ // // with constructors that take arguments is only possible by authorizing
4432
+ // // `SOROBAN_AUTHORIZED_FUNCTION_TYPE_CREATE_CONTRACT_V2_HOST_FN`
4433
+ // // (protocol 22+).
4058
4434
  // case SOROBAN_AUTHORIZED_FUNCTION_TYPE_CREATE_CONTRACT_HOST_FN:
4059
4435
  // CreateContractArgs createContractHostFn;
4436
+ // // This variant of auth payload for creating new contract instances
4437
+ // // is only accepted in and after protocol 22. It allows authorizing the
4438
+ // // contract constructor arguments.
4439
+ // case SOROBAN_AUTHORIZED_FUNCTION_TYPE_CREATE_CONTRACT_V2_HOST_FN:
4440
+ // CreateContractArgsV2 createContractV2HostFn;
4060
4441
  // };
4061
4442
  //
4062
4443
  // ===========================================================================
4063
4444
  xdr.union("SorobanAuthorizedFunction", {
4064
4445
  switchOn: xdr.lookup("SorobanAuthorizedFunctionType"),
4065
4446
  switchName: "type",
4066
- switches: [["sorobanAuthorizedFunctionTypeContractFn", "contractFn"], ["sorobanAuthorizedFunctionTypeCreateContractHostFn", "createContractHostFn"]],
4447
+ switches: [["sorobanAuthorizedFunctionTypeContractFn", "contractFn"], ["sorobanAuthorizedFunctionTypeCreateContractHostFn", "createContractHostFn"], ["sorobanAuthorizedFunctionTypeCreateContractV2HostFn", "createContractV2HostFn"]],
4067
4448
  arms: {
4068
4449
  contractFn: xdr.lookup("InvokeContractArgs"),
4069
- createContractHostFn: xdr.lookup("CreateContractArgs")
4450
+ createContractHostFn: xdr.lookup("CreateContractArgs"),
4451
+ createContractV2HostFn: xdr.lookup("CreateContractArgsV2")
4070
4452
  }
4071
4453
  });
4072
4454
 
@@ -4597,6 +4979,110 @@ var types = XDR.config(function (xdr) {
4597
4979
  // ===========================================================================
4598
4980
  xdr.struct("LedgerFootprint", [["readOnly", xdr.varArray(xdr.lookup("LedgerKey"), 2147483647)], ["readWrite", xdr.varArray(xdr.lookup("LedgerKey"), 2147483647)]]);
4599
4981
 
4982
+ // === xdr source ============================================================
4983
+ //
4984
+ // enum ArchivalProofType
4985
+ // {
4986
+ // EXISTENCE = 0,
4987
+ // NONEXISTENCE = 1
4988
+ // };
4989
+ //
4990
+ // ===========================================================================
4991
+ xdr["enum"]("ArchivalProofType", {
4992
+ existence: 0,
4993
+ nonexistence: 1
4994
+ });
4995
+
4996
+ // === xdr source ============================================================
4997
+ //
4998
+ // struct ArchivalProofNode
4999
+ // {
5000
+ // uint32 index;
5001
+ // Hash hash;
5002
+ // };
5003
+ //
5004
+ // ===========================================================================
5005
+ xdr.struct("ArchivalProofNode", [["index", xdr.lookup("Uint32")], ["hash", xdr.lookup("Hash")]]);
5006
+
5007
+ // === xdr source ============================================================
5008
+ //
5009
+ // typedef ArchivalProofNode ProofLevel<>;
5010
+ //
5011
+ // ===========================================================================
5012
+ xdr.typedef("ProofLevel", xdr.varArray(xdr.lookup("ArchivalProofNode"), 2147483647));
5013
+
5014
+ // === xdr source ============================================================
5015
+ //
5016
+ // struct NonexistenceProofBody
5017
+ // {
5018
+ // ColdArchiveBucketEntry entriesToProve<>;
5019
+ //
5020
+ // // Vector of vectors, where proofLevels[level]
5021
+ // // contains all HashNodes that correspond with that level
5022
+ // ProofLevel proofLevels<>;
5023
+ // };
5024
+ //
5025
+ // ===========================================================================
5026
+ xdr.struct("NonexistenceProofBody", [["entriesToProve", xdr.varArray(xdr.lookup("ColdArchiveBucketEntry"), 2147483647)], ["proofLevels", xdr.varArray(xdr.lookup("ProofLevel"), 2147483647)]]);
5027
+
5028
+ // === xdr source ============================================================
5029
+ //
5030
+ // struct ExistenceProofBody
5031
+ // {
5032
+ // LedgerKey keysToProve<>;
5033
+ //
5034
+ // // Bounds for each key being proved, where bound[n]
5035
+ // // corresponds to keysToProve[n]
5036
+ // ColdArchiveBucketEntry lowBoundEntries<>;
5037
+ // ColdArchiveBucketEntry highBoundEntries<>;
5038
+ //
5039
+ // // Vector of vectors, where proofLevels[level]
5040
+ // // contains all HashNodes that correspond with that level
5041
+ // ProofLevel proofLevels<>;
5042
+ // };
5043
+ //
5044
+ // ===========================================================================
5045
+ xdr.struct("ExistenceProofBody", [["keysToProve", xdr.varArray(xdr.lookup("LedgerKey"), 2147483647)], ["lowBoundEntries", xdr.varArray(xdr.lookup("ColdArchiveBucketEntry"), 2147483647)], ["highBoundEntries", xdr.varArray(xdr.lookup("ColdArchiveBucketEntry"), 2147483647)], ["proofLevels", xdr.varArray(xdr.lookup("ProofLevel"), 2147483647)]]);
5046
+
5047
+ // === xdr source ============================================================
5048
+ //
5049
+ // union switch (ArchivalProofType t)
5050
+ // {
5051
+ // case EXISTENCE:
5052
+ // NonexistenceProofBody nonexistenceProof;
5053
+ // case NONEXISTENCE:
5054
+ // ExistenceProofBody existenceProof;
5055
+ // }
5056
+ //
5057
+ // ===========================================================================
5058
+ xdr.union("ArchivalProofBody", {
5059
+ switchOn: xdr.lookup("ArchivalProofType"),
5060
+ switchName: "t",
5061
+ switches: [["existence", "nonexistenceProof"], ["nonexistence", "existenceProof"]],
5062
+ arms: {
5063
+ nonexistenceProof: xdr.lookup("NonexistenceProofBody"),
5064
+ existenceProof: xdr.lookup("ExistenceProofBody")
5065
+ }
5066
+ });
5067
+
5068
+ // === xdr source ============================================================
5069
+ //
5070
+ // struct ArchivalProof
5071
+ // {
5072
+ // uint32 epoch; // AST Subtree for this proof
5073
+ //
5074
+ // union switch (ArchivalProofType t)
5075
+ // {
5076
+ // case EXISTENCE:
5077
+ // NonexistenceProofBody nonexistenceProof;
5078
+ // case NONEXISTENCE:
5079
+ // ExistenceProofBody existenceProof;
5080
+ // } body;
5081
+ // };
5082
+ //
5083
+ // ===========================================================================
5084
+ xdr.struct("ArchivalProof", [["epoch", xdr.lookup("Uint32")], ["body", xdr.lookup("ArchivalProofBody")]]);
5085
+
4600
5086
  // === xdr source ============================================================
4601
5087
  //
4602
5088
  // struct SorobanResources
@@ -7170,6 +7656,56 @@ var types = XDR.config(function (xdr) {
7170
7656
  // ===========================================================================
7171
7657
  xdr.struct("HmacSha256Mac", [["mac", xdr.opaque(32)]]);
7172
7658
 
7659
+ // === xdr source ============================================================
7660
+ //
7661
+ // struct ShortHashSeed
7662
+ // {
7663
+ // opaque seed[16];
7664
+ // };
7665
+ //
7666
+ // ===========================================================================
7667
+ xdr.struct("ShortHashSeed", [["seed", xdr.opaque(16)]]);
7668
+
7669
+ // === xdr source ============================================================
7670
+ //
7671
+ // enum BinaryFuseFilterType
7672
+ // {
7673
+ // BINARY_FUSE_FILTER_8_BIT = 0,
7674
+ // BINARY_FUSE_FILTER_16_BIT = 1,
7675
+ // BINARY_FUSE_FILTER_32_BIT = 2
7676
+ // };
7677
+ //
7678
+ // ===========================================================================
7679
+ xdr["enum"]("BinaryFuseFilterType", {
7680
+ binaryFuseFilter8Bit: 0,
7681
+ binaryFuseFilter16Bit: 1,
7682
+ binaryFuseFilter32Bit: 2
7683
+ });
7684
+
7685
+ // === xdr source ============================================================
7686
+ //
7687
+ // struct SerializedBinaryFuseFilter
7688
+ // {
7689
+ // BinaryFuseFilterType type;
7690
+ //
7691
+ // // Seed used to hash input to filter
7692
+ // ShortHashSeed inputHashSeed;
7693
+ //
7694
+ // // Seed used for internal filter hash operations
7695
+ // ShortHashSeed filterSeed;
7696
+ // uint32 segmentLength;
7697
+ // uint32 segementLengthMask;
7698
+ // uint32 segmentCount;
7699
+ // uint32 segmentCountLength;
7700
+ // uint32 fingerprintLength; // Length in terms of element count, not bytes
7701
+ //
7702
+ // // Array of uint8_t, uint16_t, or uint32_t depending on filter type
7703
+ // opaque fingerprints<>;
7704
+ // };
7705
+ //
7706
+ // ===========================================================================
7707
+ xdr.struct("SerializedBinaryFuseFilter", [["type", xdr.lookup("BinaryFuseFilterType")], ["inputHashSeed", xdr.lookup("ShortHashSeed")], ["filterSeed", xdr.lookup("ShortHashSeed")], ["segmentLength", xdr.lookup("Uint32")], ["segementLengthMask", xdr.lookup("Uint32")], ["segmentCount", xdr.lookup("Uint32")], ["segmentCountLength", xdr.lookup("Uint32")], ["fingerprintLength", xdr.lookup("Uint32")], ["fingerprints", xdr.varOpaque()]]);
7708
+
7173
7709
  // === xdr source ============================================================
7174
7710
  //
7175
7711
  // enum SCValType
@@ -7632,12 +8168,25 @@ var types = XDR.config(function (xdr) {
7632
8168
  scEnvMetaKindInterfaceVersion: 0
7633
8169
  });
7634
8170
 
8171
+ // === xdr source ============================================================
8172
+ //
8173
+ // struct {
8174
+ // uint32 protocol;
8175
+ // uint32 preRelease;
8176
+ // }
8177
+ //
8178
+ // ===========================================================================
8179
+ xdr.struct("ScEnvMetaEntryInterfaceVersion", [["protocol", xdr.lookup("Uint32")], ["preRelease", xdr.lookup("Uint32")]]);
8180
+
7635
8181
  // === xdr source ============================================================
7636
8182
  //
7637
8183
  // union SCEnvMetaEntry switch (SCEnvMetaKind kind)
7638
8184
  // {
7639
8185
  // case SC_ENV_META_KIND_INTERFACE_VERSION:
7640
- // uint64 interfaceVersion;
8186
+ // struct {
8187
+ // uint32 protocol;
8188
+ // uint32 preRelease;
8189
+ // } interfaceVersion;
7641
8190
  // };
7642
8191
  //
7643
8192
  // ===========================================================================
@@ -7646,7 +8195,7 @@ var types = XDR.config(function (xdr) {
7646
8195
  switchName: "kind",
7647
8196
  switches: [["scEnvMetaKindInterfaceVersion", "interfaceVersion"]],
7648
8197
  arms: {
7649
- interfaceVersion: xdr.lookup("Uint64")
8198
+ interfaceVersion: xdr.lookup("ScEnvMetaEntryInterfaceVersion")
7650
8199
  }
7651
8200
  });
7652
8201
 
@@ -8323,7 +8872,58 @@ var types = XDR.config(function (xdr) {
8323
8872
  // // point on a 256-bit elliptic curve
8324
8873
  // Sec1DecodePointUncompressed = 43,
8325
8874
  // // Cost of verifying an ECDSA Secp256r1 signature
8326
- // VerifyEcdsaSecp256r1Sig = 44
8875
+ // VerifyEcdsaSecp256r1Sig = 44,
8876
+ //
8877
+ // // Cost of encoding a BLS12-381 Fp (base field element)
8878
+ // Bls12381EncodeFp = 45,
8879
+ // // Cost of decoding a BLS12-381 Fp (base field element)
8880
+ // Bls12381DecodeFp = 46,
8881
+ // // Cost of checking a G1 point lies on the curve
8882
+ // Bls12381G1CheckPointOnCurve = 47,
8883
+ // // Cost of checking a G1 point belongs to the correct subgroup
8884
+ // Bls12381G1CheckPointInSubgroup = 48,
8885
+ // // Cost of checking a G2 point lies on the curve
8886
+ // Bls12381G2CheckPointOnCurve = 49,
8887
+ // // Cost of checking a G2 point belongs to the correct subgroup
8888
+ // Bls12381G2CheckPointInSubgroup = 50,
8889
+ // // Cost of converting a BLS12-381 G1 point from projective to affine coordinates
8890
+ // Bls12381G1ProjectiveToAffine = 51,
8891
+ // // Cost of converting a BLS12-381 G2 point from projective to affine coordinates
8892
+ // Bls12381G2ProjectiveToAffine = 52,
8893
+ // // Cost of performing BLS12-381 G1 point addition
8894
+ // Bls12381G1Add = 53,
8895
+ // // Cost of performing BLS12-381 G1 scalar multiplication
8896
+ // Bls12381G1Mul = 54,
8897
+ // // Cost of performing BLS12-381 G1 multi-scalar multiplication (MSM)
8898
+ // Bls12381G1Msm = 55,
8899
+ // // Cost of mapping a BLS12-381 Fp field element to a G1 point
8900
+ // Bls12381MapFpToG1 = 56,
8901
+ // // Cost of hashing to a BLS12-381 G1 point
8902
+ // Bls12381HashToG1 = 57,
8903
+ // // Cost of performing BLS12-381 G2 point addition
8904
+ // Bls12381G2Add = 58,
8905
+ // // Cost of performing BLS12-381 G2 scalar multiplication
8906
+ // Bls12381G2Mul = 59,
8907
+ // // Cost of performing BLS12-381 G2 multi-scalar multiplication (MSM)
8908
+ // Bls12381G2Msm = 60,
8909
+ // // Cost of mapping a BLS12-381 Fp2 field element to a G2 point
8910
+ // Bls12381MapFp2ToG2 = 61,
8911
+ // // Cost of hashing to a BLS12-381 G2 point
8912
+ // Bls12381HashToG2 = 62,
8913
+ // // Cost of performing BLS12-381 pairing operation
8914
+ // Bls12381Pairing = 63,
8915
+ // // Cost of converting a BLS12-381 scalar element from U256
8916
+ // Bls12381FrFromU256 = 64,
8917
+ // // Cost of converting a BLS12-381 scalar element to U256
8918
+ // Bls12381FrToU256 = 65,
8919
+ // // Cost of performing BLS12-381 scalar element addition/subtraction
8920
+ // Bls12381FrAddSub = 66,
8921
+ // // Cost of performing BLS12-381 scalar element multiplication
8922
+ // Bls12381FrMul = 67,
8923
+ // // Cost of performing BLS12-381 scalar element exponentiation
8924
+ // Bls12381FrPow = 68,
8925
+ // // Cost of performing BLS12-381 scalar element inversion
8926
+ // Bls12381FrInv = 69
8327
8927
  // };
8328
8928
  //
8329
8929
  // ===========================================================================
@@ -8372,7 +8972,32 @@ var types = XDR.config(function (xdr) {
8372
8972
  instantiateWasmExports: 41,
8373
8973
  instantiateWasmDataSegmentBytes: 42,
8374
8974
  sec1DecodePointUncompressed: 43,
8375
- verifyEcdsaSecp256r1Sig: 44
8975
+ verifyEcdsaSecp256r1Sig: 44,
8976
+ bls12381EncodeFp: 45,
8977
+ bls12381DecodeFp: 46,
8978
+ bls12381G1CheckPointOnCurve: 47,
8979
+ bls12381G1CheckPointInSubgroup: 48,
8980
+ bls12381G2CheckPointOnCurve: 49,
8981
+ bls12381G2CheckPointInSubgroup: 50,
8982
+ bls12381G1ProjectiveToAffine: 51,
8983
+ bls12381G2ProjectiveToAffine: 52,
8984
+ bls12381G1Add: 53,
8985
+ bls12381G1Mul: 54,
8986
+ bls12381G1Msm: 55,
8987
+ bls12381MapFpToG1: 56,
8988
+ bls12381HashToG1: 57,
8989
+ bls12381G2Add: 58,
8990
+ bls12381G2Mul: 59,
8991
+ bls12381G2Msm: 60,
8992
+ bls12381MapFp2ToG2: 61,
8993
+ bls12381HashToG2: 62,
8994
+ bls12381Pairing: 63,
8995
+ bls12381FrFromU256: 64,
8996
+ bls12381FrToU256: 65,
8997
+ bls12381FrAddSub: 66,
8998
+ bls12381FrMul: 67,
8999
+ bls12381FrPow: 68,
9000
+ bls12381FrInv: 69
8376
9001
  });
8377
9002
 
8378
9003
  // === xdr source ============================================================