Repository files navigation

Steward

Steward is a key piece of the Sommelier system. It is a side-car process that connects the Sommelier chain to the outside world. It provides an API for Strategy Providers to update Cellars through the Sommelier validator set based on off-chain calculations. Additionally, it subsumes the functionality of gorc for managing the Gravity bridge Orchestrator, and provides developer tools and features for developing and testing Cellars.

It can run as a voter in the Cosmos Sommelier protocol or in test mode to directly interact with Ethereum contracts as a single signer.

It integrates the full functionality of Gorc for operating as an orchestrator and relayer of Gravity bridge messages between the Ethereum and Cosmos chains.

Steward is built with the Abscissa app micro-framework.

Steward use cases

1. Gravity Bridge Operator

Steward is responsible for running the Relayer, which handles relaying Cosmos transactions to Ethereum, and the Orchestrator, which enables the co-processing of Ethereum transactions on Sommelier. Steward runs the Orchestrator so that Sommelier can manage Cellars on Ethereum.

2. Middleman between the Sommelier chain and Strategy Providers

Steward runs on every Validator in the Sommelier Validator set. It runs a server to which Strategy Providers (SPs) send requests whenever they determine that the market has changed enough to warrant an update to the Cellar position. The request payload contains everything needed to make a cork: a signed combination of a cellar address and an ABI encoded contract call. When Steward receives a submission from the SP, it validates the target cellar address, builds a cork, signs it with the delegate key, and submits it to the Cork module on chain, where it will be bridged to the target Cellar contract if a consensus of validators submit the same cork.

3. Cellar Development Tool

Steward provides a suite of utility functions for interacting with Sommelier, the Gravity bridge, and Cellar contracts directly.

Getting Started for Validators

Please refer to the Steward for Validators document.

Getting Started for Strategists

If you want to test and PR changes to Steward to support your Cellar, or you just want to include Steward in your model testing against an existing Cellar, you can use Steward's test mode. This mode will run a gRPC server just like in production, but without the Sommelier chain and gravity bridge. Instead, Steward will send function calls directly to the target Cellar contract.

The developer workflow for this mode is still being refined and documentation is forthcoming.

Steward Subcommands

Below is a list of the Steward's subcommands:

SubcommandDescription
cosmos-to-ethThis command sends Cosmos to the Eth chain
deployProvides tools for contract deployment
eth-to-cosmosCommand to Send Ethereum to Cosmos
helpHelp command to get usage information
keysKey management commands for the rebalancer
orchestratorThe orchestrator management commands
print-configCommand for printing default configurations
sign-delegate-keyThis command is to sign delegate keys
versionDisplay version information

If you have any questions, you can ask the community in our Telegram and Discord group.

About

Eth Contract Monitor

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Steward

Steward is a key piece of the Sommelier system. It is a side-car process that connects the Sommelier chain to the outside world. It provides an API for Strategy Providers to update Cellars through the Sommelier validator set based on off-chain calculations. Additionally, it subsumes the functionality of gorc for managing the Gravity bridge Orchestrator, and provides developer tools and features for developing and testing Cellars.

It can run as a voter in the Cosmos Sommelier protocol or in test mode to directly interact with Ethereum contracts as a single signer.

It integrates the full functionality of Gorc for operating as an orchestrator and relayer of Gravity bridge messages between the Ethereum and Cosmos chains.

Steward is built with the Abscissa app micro-framework.

Steward use cases

1. Gravity Bridge Operator

Steward is responsible for running the Relayer, which handles relaying Cosmos transactions to Ethereum, and the Orchestrator, which enables the co-processing of Ethereum transactions on Sommelier. Steward runs the Orchestrator so that Sommelier can manage Cellars on Ethereum.

2. Middleman between the Sommelier chain and Strategy Providers

Steward runs on every Validator in the Sommelier Validator set. It runs a server to which Strategy Providers (SPs) send requests whenever they determine that the market has changed enough to warrant an update to the Cellar position. The request payload contains everything needed to make a cork: a signed combination of a cellar address and an ABI encoded contract call. When Steward receives a submission from the SP, it validates the target cellar address, builds a cork, signs it with the delegate key, and submits it to the Cork module on chain, where it will be bridged to the target Cellar contract if a consensus of validators submit the same cork.

3. Cellar Development Tool

Steward provides a suite of utility functions for interacting with Sommelier, the Gravity bridge, and Cellar contracts directly.

Getting Started for Validators

Please refer to the Steward for Validators document.

Getting Started for Strategists

If you want to test and PR changes to Steward to support your Cellar, or you just want to include Steward in your model testing against an existing Cellar, you can use Steward's test mode. This mode will run a gRPC server just like in production, but without the Sommelier chain and gravity bridge. Instead, Steward will send function calls directly to the target Cellar contract.

The developer workflow for this mode is still being refined and documentation is forthcoming.

Steward Subcommands

Below is a list of the Steward's subcommands:

SubcommandDescription
cosmos-to-ethThis command sends Cosmos to the Eth chain
deployProvides tools for contract deployment
eth-to-cosmosCommand to Send Ethereum to Cosmos
helpHelp command to get usage information
keysKey management commands for the rebalancer
orchestratorThe orchestrator management commands
print-configCommand for printing default configurations
sign-delegate-keyThis command is to sign delegate keys
versionDisplay version information

If you have any questions, you can ask the community in our Telegram and Discord group.

About

Eth Contract Monitor

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Steward

Steward is a key piece of the Sommelier system. It is a side-car process that connects the Sommelier chain to the outside world. It provides an API for Strategy Providers to update Cellars through the Sommelier validator set based on off-chain calculations. Additionally, it subsumes the functionality of gorc for managing the Gravity bridge Orchestrator, and provides developer tools and features for developing and testing Cellars.

It can run as a voter in the Cosmos Sommelier protocol or in test mode to directly interact with Ethereum contracts as a single signer.

It integrates the full functionality of Gorc for operating as an orchestrator and relayer of Gravity bridge messages between the Ethereum and Cosmos chains.

Steward is built with the Abscissa app micro-framework.

Steward use cases

1. Gravity Bridge Operator

Steward is responsible for running the Relayer, which handles relaying Cosmos transactions to Ethereum, and the Orchestrator, which enables the co-processing of Ethereum transactions on Sommelier. Steward runs the Orchestrator so that Sommelier can manage Cellars on Ethereum.

2. Middleman between the Sommelier chain and Strategy Providers

Steward runs on every Validator in the Sommelier Validator set. It runs a server to which Strategy Providers (SPs) send requests whenever they determine that the market has changed enough to warrant an update to the Cellar position. The request payload contains everything needed to make a cork: a signed combination of a cellar address and an ABI encoded contract call. When Steward receives a submission from the SP, it validates the target cellar address, builds a cork, signs it with the delegate key, and submits it to the Cork module on chain, where it will be bridged to the target Cellar contract if a consensus of validators submit the same cork.

3. Cellar Development Tool

Steward provides a suite of utility functions for interacting with Sommelier, the Gravity bridge, and Cellar contracts directly.

Getting Started for Validators

Please refer to the Steward for Validators document.

Getting Started for Strategists

If you want to test and PR changes to Steward to support your Cellar, or you just want to include Steward in your model testing against an existing Cellar, you can use Steward's test mode. This mode will run a gRPC server just like in production, but without the Sommelier chain and gravity bridge. Instead, Steward will send function calls directly to the target Cellar contract.

The developer workflow for this mode is still being refined and documentation is forthcoming.

Steward Subcommands

Below is a list of the Steward's subcommands:

SubcommandDescription
cosmos-to-ethThis command sends Cosmos to the Eth chain
deployProvides tools for contract deployment
eth-to-cosmosCommand to Send Ethereum to Cosmos
helpHelp command to get usage information
keysKey management commands for the rebalancer
orchestratorThe orchestrator management commands
print-configCommand for printing default configurations
sign-delegate-keyThis command is to sign delegate keys
versionDisplay version information

If you have any questions, you can ask the community in our Telegram and Discord group.

About

Eth Contract Monitor

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Steward

Steward is a key piece of the Sommelier system. It is a side-car process that connects the Sommelier chain to the outside world. It provides an API for Strategy Providers to update Cellars through the Sommelier validator set based on off-chain calculations. Additionally, it subsumes the functionality of gorc for managing the Gravity bridge Orchestrator, and provides developer tools and features for developing and testing Cellars.

It can run as a voter in the Cosmos Sommelier protocol or in test mode to directly interact with Ethereum contracts as a single signer.

It integrates the full functionality of Gorc for operating as an orchestrator and relayer of Gravity bridge messages between the Ethereum and Cosmos chains.

Steward is built with the Abscissa app micro-framework.

Steward use cases

1. Gravity Bridge Operator

Steward is responsible for running the Relayer, which handles relaying Cosmos transactions to Ethereum, and the Orchestrator, which enables the co-processing of Ethereum transactions on Sommelier. Steward runs the Orchestrator so that Sommelier can manage Cellars on Ethereum.

2. Middleman between the Sommelier chain and Strategy Providers

Steward runs on every Validator in the Sommelier Validator set. It runs a server to which Strategy Providers (SPs) send requests whenever they determine that the market has changed enough to warrant an update to the Cellar position. The request payload contains everything needed to make a cork: a signed combination of a cellar address and an ABI encoded contract call. When Steward receives a submission from the SP, it validates the target cellar address, builds a cork, signs it with the delegate key, and submits it to the Cork module on chain, where it will be bridged to the target Cellar contract if a consensus of validators submit the same cork.

3. Cellar Development Tool

Steward provides a suite of utility functions for interacting with Sommelier, the Gravity bridge, and Cellar contracts directly.

Getting Started for Validators

Please refer to the Steward for Validators document.

Getting Started for Strategists

If you want to test and PR changes to Steward to support your Cellar, or you just want to include Steward in your model testing against an existing Cellar, you can use Steward's test mode. This mode will run a gRPC server just like in production, but without the Sommelier chain and gravity bridge. Instead, Steward will send function calls directly to the target Cellar contract.

The developer workflow for this mode is still being refined and documentation is forthcoming.

Steward Subcommands

Below is a list of the Steward's subcommands:

SubcommandDescription
cosmos-to-ethThis command sends Cosmos to the Eth chain
deployProvides tools for contract deployment
eth-to-cosmosCommand to Send Ethereum to Cosmos
helpHelp command to get usage information
keysKey management commands for the rebalancer
orchestratorThe orchestrator management commands
print-configCommand for printing default configurations
sign-delegate-keyThis command is to sign delegate keys
versionDisplay version information

If you have any questions, you can ask the community in our Telegram and Discord group.

About

Eth Contract Monitor

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Steward

Steward is a key piece of the Sommelier system. It is a side-car process that connects the Sommelier chain to the outside world. It provides an API for Strategy Providers to update Cellars through the Sommelier validator set based on off-chain calculations. Additionally, it subsumes the functionality of gorc for managing the Gravity bridge Orchestrator, and provides developer tools and features for developing and testing Cellars.

It can run as a voter in the Cosmos Sommelier protocol or in test mode to directly interact with Ethereum contracts as a single signer.

It integrates the full functionality of Gorc for operating as an orchestrator and relayer of Gravity bridge messages between the Ethereum and Cosmos chains.

Steward is built with the Abscissa app micro-framework.

Steward use cases

1. Gravity Bridge Operator

Steward is responsible for running the Relayer, which handles relaying Cosmos transactions to Ethereum, and the Orchestrator, which enables the co-processing of Ethereum transactions on Sommelier. Steward runs the Orchestrator so that Sommelier can manage Cellars on Ethereum.

2. Middleman between the Sommelier chain and Strategy Providers

Steward runs on every Validator in the Sommelier Validator set. It runs a server to which Strategy Providers (SPs) send requests whenever they determine that the market has changed enough to warrant an update to the Cellar position. The request payload contains everything needed to make a cork: a signed combination of a cellar address and an ABI encoded contract call. When Steward receives a submission from the SP, it validates the target cellar address, builds a cork, signs it with the delegate key, and submits it to the Cork module on chain, where it will be bridged to the target Cellar contract if a consensus of validators submit the same cork.

3. Cellar Development Tool

Steward provides a suite of utility functions for interacting with Sommelier, the Gravity bridge, and Cellar contracts directly.

Getting Started for Validators

Please refer to the Steward for Validators document.

Getting Started for Strategists

If you want to test and PR changes to Steward to support your Cellar, or you just want to include Steward in your model testing against an existing Cellar, you can use Steward's test mode. This mode will run a gRPC server just like in production, but without the Sommelier chain and gravity bridge. Instead, Steward will send function calls directly to the target Cellar contract.

The developer workflow for this mode is still being refined and documentation is forthcoming.

Steward Subcommands

Below is a list of the Steward's subcommands:

SubcommandDescription
cosmos-to-ethThis command sends Cosmos to the Eth chain
deployProvides tools for contract deployment
eth-to-cosmosCommand to Send Ethereum to Cosmos
helpHelp command to get usage information
keysKey management commands for the rebalancer
orchestratorThe orchestrator management commands
print-configCommand for printing default configurations
sign-delegate-keyThis command is to sign delegate keys
versionDisplay version information

If you have any questions, you can ask the community in our Telegram and Discord group.

About

Eth Contract Monitor

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Steward

Steward is a key piece of the Sommelier system. It is a side-car process that connects the Sommelier chain to the outside world. It provides an API for Strategy Providers to update Cellars through the Sommelier validator set based on off-chain calculations. Additionally, it subsumes the functionality of gorc for managing the Gravity bridge Orchestrator, and provides developer tools and features for developing and testing Cellars.

It can run as a voter in the Cosmos Sommelier protocol or in test mode to directly interact with Ethereum contracts as a single signer.

It integrates the full functionality of Gorc for operating as an orchestrator and relayer of Gravity bridge messages between the Ethereum and Cosmos chains.

Steward is built with the Abscissa app micro-framework.

Steward use cases

1. Gravity Bridge Operator

Steward is responsible for running the Relayer, which handles relaying Cosmos transactions to Ethereum, and the Orchestrator, which enables the co-processing of Ethereum transactions on Sommelier. Steward runs the Orchestrator so that Sommelier can manage Cellars on Ethereum.

2. Middleman between the Sommelier chain and Strategy Providers

Steward runs on every Validator in the Sommelier Validator set. It runs a server to which Strategy Providers (SPs) send requests whenever they determine that the market has changed enough to warrant an update to the Cellar position. The request payload contains everything needed to make a cork: a signed combination of a cellar address and an ABI encoded contract call. When Steward receives a submission from the SP, it validates the target cellar address, builds a cork, signs it with the delegate key, and submits it to the Cork module on chain, where it will be bridged to the target Cellar contract if a consensus of validators submit the same cork.

3. Cellar Development Tool

Steward provides a suite of utility functions for interacting with Sommelier, the Gravity bridge, and Cellar contracts directly.

Getting Started for Validators

Please refer to the Steward for Validators document.

Getting Started for Strategists

If you want to test and PR changes to Steward to support your Cellar, or you just want to include Steward in your model testing against an existing Cellar, you can use Steward's test mode. This mode will run a gRPC server just like in production, but without the Sommelier chain and gravity bridge. Instead, Steward will send function calls directly to the target Cellar contract.

The developer workflow for this mode is still being refined and documentation is forthcoming.

Steward Subcommands

Below is a list of the Steward's subcommands:

SubcommandDescription
cosmos-to-ethThis command sends Cosmos to the Eth chain
deployProvides tools for contract deployment
eth-to-cosmosCommand to Send Ethereum to Cosmos
helpHelp command to get usage information
keysKey management commands for the rebalancer
orchestratorThe orchestrator management commands
print-configCommand for printing default configurations
sign-delegate-keyThis command is to sign delegate keys
versionDisplay version information

If you have any questions, you can ask the community in our Telegram and Discord group.

About

Eth Contract Monitor

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Steward

Steward is a key piece of the Sommelier system. It is a side-car process that connects the Sommelier chain to the outside world. It provides an API for Strategy Providers to update Cellars through the Sommelier validator set based on off-chain calculations. Additionally, it subsumes the functionality of gorc for managing the Gravity bridge Orchestrator, and provides developer tools and features for developing and testing Cellars.

It can run as a voter in the Cosmos Sommelier protocol or in test mode to directly interact with Ethereum contracts as a single signer.

It integrates the full functionality of Gorc for operating as an orchestrator and relayer of Gravity bridge messages between the Ethereum and Cosmos chains.

Steward is built with the Abscissa app micro-framework.

Steward use cases

1. Gravity Bridge Operator

Steward is responsible for running the Relayer, which handles relaying Cosmos transactions to Ethereum, and the Orchestrator, which enables the co-processing of Ethereum transactions on Sommelier. Steward runs the Orchestrator so that Sommelier can manage Cellars on Ethereum.

2. Middleman between the Sommelier chain and Strategy Providers

Steward runs on every Validator in the Sommelier Validator set. It runs a server to which Strategy Providers (SPs) send requests whenever they determine that the market has changed enough to warrant an update to the Cellar position. The request payload contains everything needed to make a cork: a signed combination of a cellar address and an ABI encoded contract call. When Steward receives a submission from the SP, it validates the target cellar address, builds a cork, signs it with the delegate key, and submits it to the Cork module on chain, where it will be bridged to the target Cellar contract if a consensus of validators submit the same cork.

3. Cellar Development Tool

Steward provides a suite of utility functions for interacting with Sommelier, the Gravity bridge, and Cellar contracts directly.

Getting Started for Validators

Please refer to the Steward for Validators document.

Getting Started for Strategists

If you want to test and PR changes to Steward to support your Cellar, or you just want to include Steward in your model testing against an existing Cellar, you can use Steward's test mode. This mode will run a gRPC server just like in production, but without the Sommelier chain and gravity bridge. Instead, Steward will send function calls directly to the target Cellar contract.

The developer workflow for this mode is still being refined and documentation is forthcoming.

Steward Subcommands

Below is a list of the Steward's subcommands:

SubcommandDescription
cosmos-to-ethThis command sends Cosmos to the Eth chain
deployProvides tools for contract deployment
eth-to-cosmosCommand to Send Ethereum to Cosmos
helpHelp command to get usage information
keysKey management commands for the rebalancer
orchestratorThe orchestrator management commands
print-configCommand for printing default configurations
sign-delegate-keyThis command is to sign delegate keys
versionDisplay version information

If you have any questions, you can ask the community in our Telegram and Discord group.

About

Eth Contract Monitor

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Steward

Steward is a key piece of the Sommelier system. It is a side-car process that connects the Sommelier chain to the outside world. It provides an API for Strategy Providers to update Cellars through the Sommelier validator set based on off-chain calculations. Additionally, it subsumes the functionality of gorc for managing the Gravity bridge Orchestrator, and provides developer tools and features for developing and testing Cellars.

It can run as a voter in the Cosmos Sommelier protocol or in test mode to directly interact with Ethereum contracts as a single signer.

It integrates the full functionality of Gorc for operating as an orchestrator and relayer of Gravity bridge messages between the Ethereum and Cosmos chains.

Steward is built with the Abscissa app micro-framework.

Steward use cases

1. Gravity Bridge Operator

Steward is responsible for running the Relayer, which handles relaying Cosmos transactions to Ethereum, and the Orchestrator, which enables the co-processing of Ethereum transactions on Sommelier. Steward runs the Orchestrator so that Sommelier can manage Cellars on Ethereum.

2. Middleman between the Sommelier chain and Strategy Providers

Steward runs on every Validator in the Sommelier Validator set. It runs a server to which Strategy Providers (SPs) send requests whenever they determine that the market has changed enough to warrant an update to the Cellar position. The request payload contains everything needed to make a cork: a signed combination of a cellar address and an ABI encoded contract call. When Steward receives a submission from the SP, it validates the target cellar address, builds a cork, signs it with the delegate key, and submits it to the Cork module on chain, where it will be bridged to the target Cellar contract if a consensus of validators submit the same cork.

3. Cellar Development Tool

Steward provides a suite of utility functions for interacting with Sommelier, the Gravity bridge, and Cellar contracts directly.

Getting Started for Validators

Please refer to the Steward for Validators document.

Getting Started for Strategists

If you want to test and PR changes to Steward to support your Cellar, or you just want to include Steward in your model testing against an existing Cellar, you can use Steward's test mode. This mode will run a gRPC server just like in production, but without the Sommelier chain and gravity bridge. Instead, Steward will send function calls directly to the target Cellar contract.

The developer workflow for this mode is still being refined and documentation is forthcoming.

Steward Subcommands

Below is a list of the Steward's subcommands:

SubcommandDescription
cosmos-to-ethThis command sends Cosmos to the Eth chain
deployProvides tools for contract deployment
eth-to-cosmosCommand to Send Ethereum to Cosmos
helpHelp command to get usage information
keysKey management commands for the rebalancer
orchestratorThe orchestrator management commands
print-configCommand for printing default configurations
sign-delegate-keyThis command is to sign delegate keys
versionDisplay version information

If you have any questions, you can ask the community in our Telegram and Discord group.

About

Eth Contract Monitor

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages