|
1 | 1 | {
|
2 | 2 | "contract_name": "stargaze-fair-burn",
|
3 |
| - "contract_version": "1.0.4", |
| 3 | + "contract_version": "1.1.0", |
4 | 4 | "idl_version": "1.0.0",
|
5 | 5 | "instantiate": {
|
6 | 6 | "$schema": "http://json-schema.org/draft-07/schema#",
|
7 | 7 | "title": "InstantiateMsg",
|
8 | 8 | "type": "object",
|
9 | 9 | "required": [
|
10 |
| - "fee_bps" |
| 10 | + "fee_bps", |
| 11 | + "fee_manager" |
11 | 12 | ],
|
12 | 13 | "properties": {
|
13 | 14 | "fee_bps": {
|
14 | 15 | "description": "The percentage of funds to be burned, represented as basis points",
|
15 | 16 | "type": "integer",
|
16 | 17 | "format": "uint64",
|
17 | 18 | "minimum": 0.0
|
| 19 | + }, |
| 20 | + "fee_manager": { |
| 21 | + "description": "The address to send fees to if the funds are not in STARS", |
| 22 | + "type": "string" |
18 | 23 | }
|
19 | 24 | },
|
20 | 25 | "additionalProperties": false
|
|
53 | 58 | {
|
54 | 59 | "type": "object",
|
55 | 60 | "required": [
|
56 |
| - "contract_version" |
| 61 | + "config" |
57 | 62 | ],
|
58 | 63 | "properties": {
|
59 |
| - "contract_version": { |
| 64 | + "config": { |
60 | 65 | "type": "object",
|
61 | 66 | "additionalProperties": false
|
62 | 67 | }
|
63 | 68 | },
|
64 | 69 | "additionalProperties": false
|
65 |
| - }, |
| 70 | + } |
| 71 | + ] |
| 72 | + }, |
| 73 | + "migrate": null, |
| 74 | + "sudo": { |
| 75 | + "$schema": "http://json-schema.org/draft-07/schema#", |
| 76 | + "title": "SudoMsg", |
| 77 | + "oneOf": [ |
66 | 78 | {
|
67 | 79 | "type": "object",
|
68 | 80 | "required": [
|
69 |
| - "config" |
| 81 | + "update_config" |
70 | 82 | ],
|
71 | 83 | "properties": {
|
72 |
| - "config": { |
| 84 | + "update_config": { |
73 | 85 | "type": "object",
|
| 86 | + "properties": { |
| 87 | + "fee_bps": { |
| 88 | + "type": [ |
| 89 | + "integer", |
| 90 | + "null" |
| 91 | + ], |
| 92 | + "format": "uint64", |
| 93 | + "minimum": 0.0 |
| 94 | + }, |
| 95 | + "fee_manager": { |
| 96 | + "type": [ |
| 97 | + "string", |
| 98 | + "null" |
| 99 | + ] |
| 100 | + } |
| 101 | + }, |
74 | 102 | "additionalProperties": false
|
75 | 103 | }
|
76 | 104 | },
|
77 | 105 | "additionalProperties": false
|
78 | 106 | }
|
79 | 107 | ]
|
80 | 108 | },
|
81 |
| - "migrate": null, |
82 |
| - "sudo": null, |
83 | 109 | "responses": {
|
84 | 110 | "config": {
|
85 | 111 | "$schema": "http://json-schema.org/draft-07/schema#",
|
86 | 112 | "title": "Config",
|
87 | 113 | "type": "object",
|
88 | 114 | "required": [
|
| 115 | + "fee_manager", |
89 | 116 | "fee_percent"
|
90 | 117 | ],
|
91 | 118 | "properties": {
|
| 119 | + "fee_manager": { |
| 120 | + "description": "The address to send fees to if the funds are not in STARS", |
| 121 | + "allOf": [ |
| 122 | + { |
| 123 | + "$ref": "#/definitions/Addr" |
| 124 | + } |
| 125 | + ] |
| 126 | + }, |
92 | 127 | "fee_percent": {
|
93 | 128 | "description": "The percentage of funds to be burned",
|
94 | 129 | "allOf": [
|
|
100 | 135 | },
|
101 | 136 | "additionalProperties": false,
|
102 | 137 | "definitions": {
|
| 138 | + "Addr": { |
| 139 | + "description": "A human readable address.\n\nIn Cosmos, this is typically bech32 encoded. But for multi-chain smart contracts no assumptions should be made other than being UTF-8 encoded and of reasonable length.\n\nThis type represents a validated address. It can be created in the following ways 1. Use `Addr::unchecked(input)` 2. Use `let checked: Addr = deps.api.addr_validate(input)?` 3. Use `let checked: Addr = deps.api.addr_humanize(canonical_addr)?` 4. Deserialize from JSON. This must only be done from JSON that was validated before such as a contract's state. `Addr` must not be used in messages sent by the user because this would result in unvalidated instances.\n\nThis type is immutable. If you really need to mutate it (Really? Are you sure?), create a mutable copy using `let mut mutable = Addr::to_string()` and operate on that `String` instance.", |
| 140 | + "type": "string" |
| 141 | + }, |
103 | 142 | "Decimal": {
|
104 | 143 | "description": "A fixed-point decimal value with 18 fractional digits, i.e. Decimal(1_000_000_000_000_000_000) == 1.0\n\nThe greatest possible value that can be represented is 340282366920938463463.374607431768211455 (which is (2^128 - 1) / 10^18)",
|
105 | 144 | "type": "string"
|
106 | 145 | }
|
107 | 146 | }
|
108 |
| - }, |
109 |
| - "contract_version": { |
110 |
| - "$schema": "http://json-schema.org/draft-07/schema#", |
111 |
| - "title": "ContractVersion", |
112 |
| - "type": "object", |
113 |
| - "required": [ |
114 |
| - "contract", |
115 |
| - "version" |
116 |
| - ], |
117 |
| - "properties": { |
118 |
| - "contract": { |
119 |
| - "description": "contract is the crate name of the implementing contract, eg. `crate:cw20-base` we will use other prefixes for other languages, and their standard global namespacing", |
120 |
| - "type": "string" |
121 |
| - }, |
122 |
| - "version": { |
123 |
| - "description": "version is any string that this implementation knows. It may be simple counter \"1\", \"2\". or semantic version on release tags \"v0.7.0\", or some custom feature flag list. the only code that needs to understand the version parsing is code that knows how to migrate from the given contract (and is tied to it's implementation somehow)", |
124 |
| - "type": "string" |
125 |
| - } |
126 |
| - }, |
127 |
| - "additionalProperties": false |
128 | 147 | }
|
129 | 148 | }
|
130 | 149 | }
|
0 commit comments