Release Notes
This is a runtime only release.
Highlights:
- Incorporate automatic arbitrage logic
- Include novel Global Disputes pallet
- Enable XCM reserve asset transfers
This release contains a number of exciting new features. One of them is the inclusion of automatic arbitrage logic. With the current market-making scoring rule “CPMM”, the sum of the prices of outcome tokens should ideally be 1
to represent a normalized distribution of probabilities. CPMM allows the sum of prices to be greater or less than 1
in specific circumstances.
Arbitrageurs can mint/sell or buy/burn outcome tokens, unfortunately they draw the profits directly from the liquidity providers by doing so. The solution that we have implemented for this issue ensures that the total sum of prices is normalized to 1
, while leaving the resulting arbitrage profit in the hands of the liquidity providers.
Another exciting feature released in this update is Global Disputes. Global Disputes is a pallet developed by Zeitgeist whose purpose is to resolve disputed markets in case the original dispute mechanism is not capable of determining the correct outcome. It does so by launching a global token holder vote. The potential outcomes can be provided by anyone. Once the correct outcome is determined, the correct outcome providers are rewarded with the bonds from the providers of the incorrect outcomes.
The last update is a significant step towards Polkadot primary vision, interoperability: The proper configuration of XCM and addition of logic to handle reserve asset transfers of any approved asset. After applying the runtime contained within this release, the Zeitgeist chain is able to open communication channels to other parachains and the relay chain.
Through those channels, any approved assets can be transferred. The possibilities are immensely more manifold, as the messages transferred through those channels could theoretically realize any state change in the consensus system in which they are interpreted. Those are interesting goals to work towards, and this release sets the first step in this direction by adding logic to properly receive and transfer any approved asset!
In addition to those considerable updates, the codebase was upgraded and the usability of the protocol was improved.
Battery Station Runtime
spec_version
: 41
transaction_version
: 18
🏋️ Runtime size: 0.999 MB (1,047,027 bytes)
🗜 Compressed: Yes, 75.87%
✨ Reserved meta: OK - [6D, 65, 74, 61]
🎁 Metadata version: V14
🔥 Core version: zeitgeist-41 (zeitgeist-1.tx18.au1)
🗳️ system.setCode hash: 0xd5bb28d36f4904f73b095aff7e2e6c5547a7b0a0fdef981d19db0d4ecf3479d6
🗳️ authorizeUpgrade hash: 0xd9614cbf860ac17078b89745be42e23c139c93922d0e1ab400b7c1f885c4fb44
#️⃣ Blake2-256 hash: 0x50b008b59a5a5cd4ecbc2e50c5edb2ffec42e53540864d45857ec03ee19706ae
📦 IPFS: https://www.ipfs.io/ipfs/QmYUxNPscErWurc7aBdJP4UPTnLWgABiUs4D4ggboJ4w8b
Srtool output (based on srtool-cli): srtool build --build-opts "\-\-features=parachain,with-global-disputes" --package battery-station-runtime --profile production --root --runtime-dir ./runtime/battery-station
Srtool
✨ Your Substrate WASM Runtime is ready! ✨
Summary generated with srtool v0.9.23 using the docker image paritytech/srtool:1.64.0:
Package : battery-station-runtime v0.3.7
GIT commit :
GIT tag :
GIT branch :
Rustc : rustc 1.64.0 (a55dd71d5 2022-09-19)
Time : 2022-11-28T09:25:17Z
== Compact
Version : [object]
Metadata : V14
Size : 4.14 MB (4339517 bytes)
setCode : 0x67b719f2198962d8369ab5ee0e60b1711cfd7b179102cc86be8d9c9f5a15c98e
authorizeUpgrade : 0x9259230205f85b6b44f5c258214dc23a83d1e0cf708605224a64c83fd05f73c5
IPFS : QmYqDPj5krcDEnPN4tdMnLuihCZUjQJWmggVm8AezTq1Jk
BLAKE2_256 : 0xd92cdd69300228696481ecf822fd60cc5555ca3114982a502edfbf650d639516
Wasm : ./runtime/battery-station/target/srtool/production/wbuild/battery-station-runtime/battery_station_runtime.compact.wasm
== Compressed
Version : [object]
Metadata : V14
Size : 1022.49 KB (1047027 bytes)
Compression : 75.88%
setCode : 0xd5bb28d36f4904f73b095aff7e2e6c5547a7b0a0fdef981d19db0d4ecf3479d6
authorizeUpgrade : 0xd9614cbf860ac17078b89745be42e23c139c93922d0e1ab400b7c1f885c4fb44
IPFS : QmYUxNPscErWurc7aBdJP4UPTnLWgABiUs4D4ggboJ4w8b
BLAKE2_256 : 0x50b008b59a5a5cd4ecbc2e50c5edb2ffec42e53540864d45857ec03ee19706ae
Wasm : ./runtime/battery-station/target/srtool/production/wbuild/battery-station-runtime/battery_station_runtime.compact.compressed.wasm
Zeitgeist Runtime
spec_version
: 41
transaction_version
: 18
🏋️ Runtime size: 0.983 MB (1,030,655 bytes)
🗜 Compressed: Yes, 75.82%
✨ Reserved meta: OK - [6D, 65, 74, 61]
🎁 Metadata version: V14
🔥 Core version: zeitgeist-41 (zeitgeist-1.tx18.au1)
🗳️ system.setCode hash: 0xcec5442c3f1b84714782284c82215111a9bcc4547a5426a2bcf7877a38c2d51d
🗳️ authorizeUpgrade hash: 0x1711ff6cd82abee13bbb516ee6f81e33e275b03f1f669aa09659bc25c09b9229
#️⃣ Blake2-256 hash: 0x44a84d4086a96cb4c9e9221147dc8cc4c2f104e8dd5fbee3ac041b264360f90e
📦 IPFS: https://www.ipfs.io/ipfs/QmVF2DsbdobNSL4wXahqcShTrzAXqkBEHytH1HijxU3Rhk
Srtool output (based on srtool-cli): srtool build --build-opts "\-\-features=parachain" --package zeitgeist-runtime --profile production --root --runtime-dir ./runtime/zeitgeist
Srtool
✨ Your Substrate WASM Runtime is ready! ✨
Summary generated with srtool v0.9.23 using the docker image paritytech/srtool:1.64.0:
Package : zeitgeist-runtime v0.3.7
GIT commit :
GIT tag :
GIT branch :
Rustc : rustc 1.64.0 (a55dd71d5 2022-09-19)
Time : 2022-11-28T09:40:26Z
== Compact
Version : [object]
Metadata : V14
Size : 4.07 MB (4262909 bytes)
setCode : 0x90296efb1259f3a40d904e7460702cb514fb0b5e40ff59313abb037ac0fac73d
authorizeUpgrade : 0xb505d32def19b125f822ad5ab4cfe9555be2f2dce75d6d77262beb67fde93838
IPFS : QmSCYEKVdMDLaXpu9UGYVargSbhUphaPBMyx8aMKHbraZm
BLAKE2_256 : 0x05a5e8aeec038e5141b6bc07236f30f5e6d16aef9555a5dde01620c495b4a990
Wasm : ./runtime/zeitgeist/target/srtool/production/wbuild/zeitgeist-runtime/zeitgeist_runtime.compact.wasm
== Compressed
Version : [object]
Metadata : V14
Size : 1006.50 KB (1030655 bytes)
Compression : 75.83%
setCode : 0xcec5442c3f1b84714782284c82215111a9bcc4547a5426a2bcf7877a38c2d51d
authorizeUpgrade : 0x1711ff6cd82abee13bbb516ee6f81e33e275b03f1f669aa09659bc25c09b9229
IPFS : QmVF2DsbdobNSL4wXahqcShTrzAXqkBEHytH1HijxU3Rhk
BLAKE2_256 : 0x44a84d4086a96cb4c9e9221147dc8cc4c2f104e8dd5fbee3ac041b264360f90e
Wasm : ./runtime/zeitgeist/target/srtool/production/wbuild/zeitgeist-runtime/zeitgeist_runtime.compact.compressed.wasm
Changes
- Reduce vote ratio for advisory disputes (#890)
- Update weights (#886)
- Fix max disputes to avoid migration (#879)
- Add with_fees boolean parameter for Swaps getSpotPrices() (#878)
- Update version to 0.3.7 (#867)
- Update MarketIdsPer*Block benchmarks (#866)
- Slash oracle bound while resolving disputed market, if oracle does not report or reports wrong outcome (#863)
- Upgrade to polkadot-v0.9.26 (#850)
- Filter dangerous calls (#846)
- Transform scalar markets from integer to fixed point numbers (#838)
- Improve logging of try-runtime makefile targets (#836)
- Add reject_reason in MarketRejected event (#835)
- Add extrinsics for editing markets (#834)
- Implement automatic on-chain arbitrage (#833)
- Update CI to quick check benchmarks (#825)
- Use Origin in authorized pallet to resolve dispute for market with Authorized MarketDisputeMechanism. (#778)
- Add missing license files (#765)
- Implement Global Disputes (#682)
- Configure and test whitelisted XCM reserve transfers (#661)