@oddmaki-protocol/sdk 1.2.0 → 1.4.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/dist/index.d.mts +76 -24
- package/dist/index.d.ts +76 -24
- package/dist/index.js +90 -29
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +91 -28
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -17,14 +17,6 @@ var CONTRACT_ADDRESSES = {
|
|
|
17
17
|
subgraph: "https://api.studio.thegraph.com/query/1716020/oddmaki-base/version/latest"
|
|
18
18
|
}
|
|
19
19
|
};
|
|
20
|
-
var SUBGRAPH_IDS = {
|
|
21
|
-
[base.id]: "CxoYVjELrNCMLopAmVshnfVAie7yH6QZyCSKD3r41XSQ",
|
|
22
|
-
[baseSepolia.id]: "DCnd3ozSyvYxRg7kmZYiDWGBiJCe6QHwu8M93jMN1Q3b"
|
|
23
|
-
};
|
|
24
|
-
function buildSubgraphGatewayUrl(chainId, apiKey) {
|
|
25
|
-
const id = SUBGRAPH_IDS[chainId];
|
|
26
|
-
return id ? `https://gateway.thegraph.com/api/${apiKey}/subgraphs/id/${id}` : void 0;
|
|
27
|
-
}
|
|
28
20
|
var DEFAULT_CHAIN = base;
|
|
29
21
|
var SubgraphClient = class {
|
|
30
22
|
constructor(endpoint) {
|
|
@@ -401,6 +393,24 @@ var VenueFacet_default = [
|
|
|
401
393
|
outputs: [],
|
|
402
394
|
stateMutability: "nonpayable"
|
|
403
395
|
},
|
|
396
|
+
{
|
|
397
|
+
type: "function",
|
|
398
|
+
name: "updateVenueMarketCreationFee",
|
|
399
|
+
inputs: [
|
|
400
|
+
{
|
|
401
|
+
name: "venueId",
|
|
402
|
+
type: "uint256",
|
|
403
|
+
internalType: "uint256"
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
name: "newFee",
|
|
407
|
+
type: "uint256",
|
|
408
|
+
internalType: "uint256"
|
|
409
|
+
}
|
|
410
|
+
],
|
|
411
|
+
outputs: [],
|
|
412
|
+
stateMutability: "nonpayable"
|
|
413
|
+
},
|
|
404
414
|
{
|
|
405
415
|
type: "function",
|
|
406
416
|
name: "updateVenueOracleParams",
|
|
@@ -505,6 +515,25 @@ var VenueFacet_default = [
|
|
|
505
515
|
],
|
|
506
516
|
anonymous: false
|
|
507
517
|
},
|
|
518
|
+
{
|
|
519
|
+
type: "event",
|
|
520
|
+
name: "VenueMarketCreationFeeUpdated",
|
|
521
|
+
inputs: [
|
|
522
|
+
{
|
|
523
|
+
name: "venueId",
|
|
524
|
+
type: "uint256",
|
|
525
|
+
indexed: true,
|
|
526
|
+
internalType: "uint256"
|
|
527
|
+
},
|
|
528
|
+
{
|
|
529
|
+
name: "newFee",
|
|
530
|
+
type: "uint256",
|
|
531
|
+
indexed: false,
|
|
532
|
+
internalType: "uint256"
|
|
533
|
+
}
|
|
534
|
+
],
|
|
535
|
+
anonymous: false
|
|
536
|
+
},
|
|
508
537
|
{
|
|
509
538
|
type: "event",
|
|
510
539
|
name: "VenueOracleParamsUpdated",
|
|
@@ -609,11 +638,6 @@ var VenueFacet_default = [
|
|
|
609
638
|
name: "InvalidFeeRecipient",
|
|
610
639
|
inputs: []
|
|
611
640
|
},
|
|
612
|
-
{
|
|
613
|
-
type: "error",
|
|
614
|
-
name: "InvalidMarketCreationFee",
|
|
615
|
-
inputs: []
|
|
616
|
-
},
|
|
617
641
|
{
|
|
618
642
|
type: "error",
|
|
619
643
|
name: "InvalidTickSize",
|
|
@@ -7093,21 +7117,24 @@ var UmaOracle_default = [
|
|
|
7093
7117
|
// src/modules/venue.ts
|
|
7094
7118
|
var VenueModule = class extends BaseModule {
|
|
7095
7119
|
/**
|
|
7096
|
-
* Create a new venue
|
|
7120
|
+
* Create a new venue.
|
|
7097
7121
|
*
|
|
7098
|
-
* IMPORTANT: Fee and bond amounts must match your intended collateral token decimals
|
|
7099
|
-
* Most venues use USDC (6 decimals), so amounts should use parseUnits("amount", 6)
|
|
7122
|
+
* IMPORTANT: Fee and bond amounts must match your intended collateral token decimals.
|
|
7123
|
+
* Most venues use USDC (6 decimals), so amounts should use `parseUnits("amount", 6)`.
|
|
7100
7124
|
*
|
|
7101
|
-
* Example for USDC-based venue:
|
|
7102
|
-
* - marketCreationFee: parseUnits("10", 6)
|
|
7103
|
-
* - umaRewardAmount: parseUnits("5", 6)
|
|
7104
|
-
* - umaMinBond: parseUnits("1", 6)
|
|
7105
|
-
* - defaultTickSize: parseEther("0.01")
|
|
7125
|
+
* Example for a USDC-based venue:
|
|
7126
|
+
* - marketCreationFee: 0n // free creation, or parseUnits("10", 6) for 10 USDC
|
|
7127
|
+
* - umaRewardAmount: parseUnits("5", 6) // 5 USDC
|
|
7128
|
+
* - umaMinBond: parseUnits("1", 6) // 1 USDC
|
|
7129
|
+
* - defaultTickSize: parseEther("0.01") // 0.01 per tick (always 18 decimals)
|
|
7106
7130
|
*
|
|
7107
|
-
* @param params.marketCreationFee - Upfront fee
|
|
7108
|
-
*
|
|
7109
|
-
*
|
|
7110
|
-
*
|
|
7131
|
+
* @param params.marketCreationFee - Upfront fee in collateral units charged on `createMarket`.
|
|
7132
|
+
* Can be zero. When non-zero, split 50/50 between protocol and venue.
|
|
7133
|
+
* When zero, gate market creation via `creationAccessControl` to deter spam.
|
|
7134
|
+
* Mutable post-creation via `updateMarketCreationFee`.
|
|
7135
|
+
* @param params.umaRewardAmount - Default reward for UMA asserters (in collateral token units).
|
|
7136
|
+
* @param params.umaMinBond - Minimum bond for UMA assertions (in collateral token units).
|
|
7137
|
+
* @param params.defaultTickSize - Price increment per tick (always 1e18 scale, e.g. 0.01e18).
|
|
7111
7138
|
*/
|
|
7112
7139
|
async createVenue(params) {
|
|
7113
7140
|
const wallet = this.walletClient;
|
|
@@ -7197,6 +7224,27 @@ var VenueModule = class extends BaseModule {
|
|
|
7197
7224
|
});
|
|
7198
7225
|
return wallet.writeContract(request);
|
|
7199
7226
|
}
|
|
7227
|
+
/**
|
|
7228
|
+
* Update the upfront market creation fee for a venue. Operator-only.
|
|
7229
|
+
*
|
|
7230
|
+
* Affects only markets created after this call — existing markets keep their snapshot.
|
|
7231
|
+
* Pass `0n` for free creation; if you do, gate `createMarket` via `creationAccessControl`
|
|
7232
|
+
* to deter spam.
|
|
7233
|
+
*
|
|
7234
|
+
* @param params.newFee - New fee in collateral token units (e.g. `parseUnits("10", 6)` for 10 USDC).
|
|
7235
|
+
*/
|
|
7236
|
+
async updateMarketCreationFee(params) {
|
|
7237
|
+
const wallet = this.walletClient;
|
|
7238
|
+
const account = await this.getSignerAccount();
|
|
7239
|
+
const { request } = await this.publicClient.simulateContract({
|
|
7240
|
+
address: this.config.diamondAddress,
|
|
7241
|
+
abi: VenueFacet_default,
|
|
7242
|
+
functionName: "updateVenueMarketCreationFee",
|
|
7243
|
+
args: [params.venueId, params.newFee],
|
|
7244
|
+
account
|
|
7245
|
+
});
|
|
7246
|
+
return wallet.writeContract(request);
|
|
7247
|
+
}
|
|
7200
7248
|
/**
|
|
7201
7249
|
* Update venue oracle parameters (UMA reward and min bond)
|
|
7202
7250
|
*/
|
|
@@ -8770,11 +8818,16 @@ var GET_MARKETS = gql`
|
|
|
8770
8818
|
query GetMarkets(
|
|
8771
8819
|
$venueId: BigInt
|
|
8772
8820
|
$search: String = ""
|
|
8821
|
+
$statuses: [MarketStatus!] = [Draft, Active, Resolved, Invalid]
|
|
8773
8822
|
$first: Int = 100
|
|
8774
8823
|
$skip: Int = 0
|
|
8775
8824
|
) {
|
|
8776
8825
|
markets(
|
|
8777
|
-
where: {
|
|
8826
|
+
where: {
|
|
8827
|
+
venue_: { venueId: $venueId }
|
|
8828
|
+
question_contains_nocase: $search
|
|
8829
|
+
status_in: $statuses
|
|
8830
|
+
}
|
|
8778
8831
|
first: $first
|
|
8779
8832
|
skip: $skip
|
|
8780
8833
|
orderBy: createdAt
|
|
@@ -8807,11 +8860,16 @@ var GET_MARKETS_WITH_PRICING = gql`
|
|
|
8807
8860
|
query GetMarketsWithPricing(
|
|
8808
8861
|
$venueId: BigInt
|
|
8809
8862
|
$search: String = ""
|
|
8863
|
+
$statuses: [MarketStatus!] = [Draft, Active, Resolved, Invalid]
|
|
8810
8864
|
$first: Int = 100
|
|
8811
8865
|
$skip: Int = 0
|
|
8812
8866
|
) {
|
|
8813
8867
|
markets(
|
|
8814
|
-
where: {
|
|
8868
|
+
where: {
|
|
8869
|
+
venue_: { venueId: $venueId }
|
|
8870
|
+
question_contains_nocase: $search
|
|
8871
|
+
status_in: $statuses
|
|
8872
|
+
}
|
|
8815
8873
|
first: $first
|
|
8816
8874
|
skip: $skip
|
|
8817
8875
|
orderBy: createdAt
|
|
@@ -9859,6 +9917,7 @@ var GET_MARKET_TOP_HOLDERS = gql`
|
|
|
9859
9917
|
`;
|
|
9860
9918
|
|
|
9861
9919
|
// src/modules/public.ts
|
|
9920
|
+
var ALL_MARKET_STATUSES = ["Draft", "Active", "Resolved", "Invalid"];
|
|
9862
9921
|
var PublicModule = class extends BaseModule {
|
|
9863
9922
|
/**
|
|
9864
9923
|
* Get all venues
|
|
@@ -9878,6 +9937,7 @@ var PublicModule = class extends BaseModule {
|
|
|
9878
9937
|
return this.subgraph.request(GET_MARKETS, {
|
|
9879
9938
|
venueId: params.venueId?.toString(),
|
|
9880
9939
|
search: params.search ?? "",
|
|
9940
|
+
statuses: params.statuses ?? ALL_MARKET_STATUSES,
|
|
9881
9941
|
first: params.first || 100,
|
|
9882
9942
|
skip: params.skip || 0
|
|
9883
9943
|
});
|
|
@@ -9887,11 +9947,14 @@ var PublicModule = class extends BaseModule {
|
|
|
9887
9947
|
*
|
|
9888
9948
|
* @param params.search Optional case-insensitive substring match against the
|
|
9889
9949
|
* market `question` field. Empty string matches all markets.
|
|
9950
|
+
* @param params.statuses Optional list of market statuses to include. Omit
|
|
9951
|
+
* to include all statuses (Draft, Active, Resolved, Invalid).
|
|
9890
9952
|
*/
|
|
9891
9953
|
async getMarketsWithPricing(params) {
|
|
9892
9954
|
return this.subgraph.request(GET_MARKETS_WITH_PRICING, {
|
|
9893
9955
|
venueId: params.venueId?.toString(),
|
|
9894
9956
|
search: params.search ?? "",
|
|
9957
|
+
statuses: params.statuses ?? ALL_MARKET_STATUSES,
|
|
9895
9958
|
first: params.first || 100,
|
|
9896
9959
|
skip: params.skip || 0
|
|
9897
9960
|
});
|
|
@@ -11339,6 +11402,6 @@ function parseMetadata(json) {
|
|
|
11339
11402
|
// src/index.ts
|
|
11340
11403
|
var version = "0.1.0";
|
|
11341
11404
|
|
|
11342
|
-
export { AccessControlFacet_default as AccessControlFacetABI, AccessControlModule, BatchOrdersFacet_default as BatchOrdersFacetABI, CONTRACT_ADDRESSES, ConditionalTokens_default as ConditionalTokensABI, DEFAULT_CHAIN, ERC20_default as ERC20ABI, FeedProvider, GET_ALL_MARKETS_FEED, GET_ALL_MARKETS_FEED_BY_VOLUME, GET_CHART_TRADES, GET_CHART_TRADES_ALL, GET_GROUP_MARKETS, GET_LEADERBOARD, GET_MARKET, GET_MARKETS, GET_MARKETS_WITH_PRICING, GET_MARKET_GROUP, GET_MARKET_GROUPS, GET_MARKET_GROUP_ITEM, GET_MARKET_TOP_HOLDERS, GET_ORDERS, GET_PROTOCOL_STATS, GET_QUESTION, GET_QUESTIONS, GET_RECENT_MARKETS, GET_RECENT_TRADES, GET_TOP_OF_BOOK, GET_TRADER_CLOSED_POSITIONS, GET_TRADER_FILLS, GET_TRADER_POSITIONS, GET_TRADER_PROFILE, GET_TRADES, GET_UNIFIED_MARKET_FEED, GET_UNIFIED_MARKET_FEED_BY_VOLUME, GET_USER, GET_VENUES, LimitOrdersFacet_default as LimitOrdersFacetABI, MarketGroupFacet_default as MarketGroupFacetABI, MarketModule, MarketOrdersFacet_default as MarketOrdersFacetABI, MarketsFacet_default as MarketsFacetABI, MatchingFacet_default as MatchingFacetABI, MetadataFacet_default as MetadataFacetABI, NegRiskFacet_default as NegRiskFacetABI, OddMakiClient, OrderBookFacet_default as OrderBookFacetABI, PROTOCOL_FEES, PriceMarketFacet_default as PriceMarketFacetABI, PriceMarketModule, ProtocolFacet_default as ProtocolFacetABI, PublicModule, PythResolutionFacet_default as PythResolutionFacetABI, ResolutionFacet_default as ResolutionFacetABI,
|
|
11405
|
+
export { AccessControlFacet_default as AccessControlFacetABI, AccessControlModule, BatchOrdersFacet_default as BatchOrdersFacetABI, CONTRACT_ADDRESSES, ConditionalTokens_default as ConditionalTokensABI, DEFAULT_CHAIN, ERC20_default as ERC20ABI, FeedProvider, GET_ALL_MARKETS_FEED, GET_ALL_MARKETS_FEED_BY_VOLUME, GET_CHART_TRADES, GET_CHART_TRADES_ALL, GET_GROUP_MARKETS, GET_LEADERBOARD, GET_MARKET, GET_MARKETS, GET_MARKETS_WITH_PRICING, GET_MARKET_GROUP, GET_MARKET_GROUPS, GET_MARKET_GROUP_ITEM, GET_MARKET_TOP_HOLDERS, GET_ORDERS, GET_PROTOCOL_STATS, GET_QUESTION, GET_QUESTIONS, GET_RECENT_MARKETS, GET_RECENT_TRADES, GET_TOP_OF_BOOK, GET_TRADER_CLOSED_POSITIONS, GET_TRADER_FILLS, GET_TRADER_POSITIONS, GET_TRADER_PROFILE, GET_TRADES, GET_UNIFIED_MARKET_FEED, GET_UNIFIED_MARKET_FEED_BY_VOLUME, GET_USER, GET_VENUES, LimitOrdersFacet_default as LimitOrdersFacetABI, MarketGroupFacet_default as MarketGroupFacetABI, MarketModule, MarketOrdersFacet_default as MarketOrdersFacetABI, MarketsFacet_default as MarketsFacetABI, MatchingFacet_default as MatchingFacetABI, MetadataFacet_default as MetadataFacetABI, NegRiskFacet_default as NegRiskFacetABI, OddMakiClient, OrderBookFacet_default as OrderBookFacetABI, PROTOCOL_FEES, PriceMarketFacet_default as PriceMarketFacetABI, PriceMarketModule, ProtocolFacet_default as ProtocolFacetABI, PublicModule, PythResolutionFacet_default as PythResolutionFacetABI, ResolutionFacet_default as ResolutionFacetABI, SubgraphClient, TICK_SIZE_FINE, TICK_SIZE_STANDARD, TagsFacet_default as TagsFacetABI, TokenModule, TradeModule, UMA_DEFAULTS, UmaModule, UmaOracle_default as UmaOracleABI, VALID_TICK_SIZES, VaultFacet_default as VaultFacetABI, VenueFacet_default as VenueFacetABI, VenueModule, WhitelistAccessControl_default as WhitelistAccessControlABI, calculateChancePercent, clearDecimalsCache, createExpiry, createOddMakiClient, formatAmount, formatAncillaryData, formatTimestamp, getCachedTokenDecimals, getOutcomePrice, getTokenDecimals, isValidTickSize, parseAmount, parseAncillaryData, parseMetadata, parseTokenAmount, priceToTick, resolveIPFSUri, tickToPercentage, tickToPrice, version };
|
|
11343
11406
|
//# sourceMappingURL=index.mjs.map
|
|
11344
11407
|
//# sourceMappingURL=index.mjs.map
|