diff --git a/.github/workflows/test-build.yml b/.github/workflows/test-build.yml index c6dd8c81e..4e003a19f 100644 --- a/.github/workflows/test-build.yml +++ b/.github/workflows/test-build.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [18.x] + node-version: [18.17.x] steps: - name: Checkout uses: actions/checkout@v3 diff --git a/.github/workflows/test-snippets.yml b/.github/workflows/test-snippets.yml index 66af5be7b..a04828d19 100644 --- a/.github/workflows/test-snippets.yml +++ b/.github/workflows/test-snippets.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [18.x] + node-version: [18.17.x] steps: - name: Checkout uses: actions/checkout@v3 diff --git a/.node-version b/.node-version index 8ddbc0c64..7950a4457 100644 --- a/.node-version +++ b/.node-version @@ -1 +1 @@ -v18.16.0 +v18.17.0 diff --git a/main/.vuepress/components/HomeButtonHeader.vue b/main/.vuepress/components/HomeButtonHeader.vue new file mode 100644 index 000000000..aac60147a --- /dev/null +++ b/main/.vuepress/components/HomeButtonHeader.vue @@ -0,0 +1,32 @@ +<template> + <div class="home-section"> + <h1 style="margin-bottom: .25em;">{{ title }}</h1> + <div style="margin-bottom: 1em;"> + {{ text }} + </div> + </div> +</template> + +<script> +/** + * @file HomeButtonHeader + * @ + * @module components + */ +export default { + name: 'HomeButtonHeader', + + props: { + title: { + type: String, + required: true, + default: 'Home Button Header Title' + }, + text: { + type: String, + required: true, + default: 'Home Button Header Text' + }, + } +} +</script> \ No newline at end of file diff --git a/main/.vuepress/components/HomeButtonRow.vue b/main/.vuepress/components/HomeButtonRow.vue new file mode 100644 index 000000000..eb48f8131 --- /dev/null +++ b/main/.vuepress/components/HomeButtonRow.vue @@ -0,0 +1,162 @@ +<template> + <div class="button-grid-wrapper"> + <div class="home-button" style="grid-column-start: 1;"> + <a :href=link1> + {{ title1 }} + <span class="link-spanner"></span> + </a> + <br/> + <div style="margin-top: .5em;"> + {{ text1 }} + </div> + </div> + <div class="home-button" style="grid-column-start: 2;"> + <a :href=link2> + {{ title2 }} + <span class="link-spanner"></span> + </a> + <br/> + <div style="margin-top: .5em;"> + {{ text2 }} + </div> + </div> + <div class="home-button" style="grid-column-start: 3;"> + <a :href=link3> + {{ title3 }} + <span class="link-spanner"></span> + </a> + <br/> + <div style="margin-top: .5em;"> + {{ text3 }} + </div> + </div> + <div class="home-button" v-if="title4" style="grid-column-start: 1;"> + <a :href=link4> + {{ title4 }} + <span class="link-spanner"></span> + </a> + <br/> + <div style="margin-top: .5em;"> + {{ text4 }} + </div> + </div> + <div class="home-button" v-if="title5" style="grid-column-start: 2;"> + <a :href=link5> + {{ title5 }} + <span class="link-spanner"></span> + </a> + <br/> + <div style="margin-top: .5em;"> + {{ text5 }} + </div> + </div> + <div class="home-button" v-if="title6" style="grid-column-start: 3;"> + <a :href=link6> + {{ title6 }} + <span class="link-spanner"></span> + </a> + <br/> + <div style="margin-top: .5em;"> + {{ text6 }} + </div> + </div> + </div> +</template> + +<script> + /** + * @file HomeButtonRow + * @ + * @module components + */ + export default { + name: 'HomeButtonRow', + + props: { + title1: { + type: String, + required: true, + default: 'HomeButton Title 1' + }, + text1: { + type: String, + required: true, + default: 'HomeButton Text 1' + }, + link1: { + type: String, + required: true, + default: 'https://docs.agoric.com' + }, + title2: { + type: String, + required: true, + default: 'HomeButton Title 2' + }, + text2: { + type: String, + required: true, + default: 'HomeButton Text 2' + }, + link2: { + type: String, + required: true, + default: 'https://docs.agoric.com' + }, + title3: { + type: String, + required: true, + default: 'HomeButton Title 3' + }, + text3: { + type: String, + required: true, + default: 'HomeButton Text 3' + }, + link3: { + type: String, + required: true, + default: 'https://docs.agoric.com' + }, + + title4: { + type: String, + required: false, + }, + text4: { + type: String, + required: false, + }, + link4: { + type: String, + required: false, + }, + + title5: { + type: String, + required: false, + }, + text5: { + type: String, + required: false, + }, + link5: { + type: String, + required: false, + }, + + title6: { + type: String, + required: false, + }, + text6: { + type: String, + required: false, + }, + link6: { + type: String, + required: false, + }, + } + } +</script> \ No newline at end of file diff --git a/main/.vuepress/config.js b/main/.vuepress/config.js index 943c1e3e6..ec8b81e2d 100644 --- a/main/.vuepress/config.js +++ b/main/.vuepress/config.js @@ -8,6 +8,7 @@ module.exports = { description: 'Build, deploy and operate dApps and DeFi markets.', // desc for the site; rendered as a <meta> tag in the page HTML // Extra tags to inject into the page HTML <head>. You can specify each tag in the form of [tagName, { attrName: attrValue }, innerHTML?]. head: [ + ['meta', { name: 'viewport', content: 'width=device-width, initial-scale=1' }], ['link', { rel: 'icon', href: '/favicon-full.ico' }], [ 'style', @@ -25,7 +26,7 @@ module.exports = { ], [ 'script', - { src: 'https://www.googletagmanager.com/gtag/js?id=UA-118217811-1' }, + { src: 'https://www.googletagmanager.com/gtag/js?id=UA-118217811-1', async: '' }, ], [ 'script', @@ -119,6 +120,7 @@ module.exports = { children: [ '/guides/getting-started/', '/guides/getting-started/start-a-project.html', + '/guides/getting-started/contract-rpc.html', '/guides/getting-started/deploying.html', '/guides/getting-started/syncing-up.html', ], diff --git a/main/.vuepress/styles/index.styl b/main/.vuepress/styles/index.styl index 1d3ede334..3ffd2974d 100644 --- a/main/.vuepress/styles/index.styl +++ b/main/.vuepress/styles/index.styl @@ -98,6 +98,44 @@ &--center align-items center + +.button-grid-wrapper + display grid + grid-template-columns repeat(3, 33.3%) + grid-template-rows repeat(minmax(1, 2), 50%) + row-gap .25em + column-gap .25em + +.home-section + width 100% + +.home-button + border-style solid + border-color LightGrey + padding .5em + vertical-align top + position relative + min-height 4em + +.home-banner + text-align center + background #d73252 + color white + padding 1em + +.link-spanner + position absolute + width 100% + height 100% + top 0 + left 0 + z-index 1 + +.youtube-embed + aspect-ratio 16/9 + width 100% + max-height 315 + .zoe-version font-size: .75em border-bottom: 1px #2c3e50 solid diff --git a/main/.vuepress/styles/palette.styl b/main/.vuepress/styles/palette.styl index ae17bb001..076a53f19 100644 --- a/main/.vuepress/styles/palette.styl +++ b/main/.vuepress/styles/palette.styl @@ -9,3 +9,7 @@ $badgeErrorColor = #DA5961 // Additional color variables for use in site $white = #FFF + +// Allow content panel to be larger +$homePageWidth = 90% +$contentWidth=90% diff --git a/main/.vuepress/themeConfig/nav.js b/main/.vuepress/themeConfig/nav.js index a023bca8b..272c60517 100644 --- a/main/.vuepress/themeConfig/nav.js +++ b/main/.vuepress/themeConfig/nav.js @@ -19,82 +19,87 @@ module.exports = [ ariaLabel: 'Starting a Project Menu', link: '/guides/getting-started/start-a-project', }, + { + text: 'Smart Wallet Dapp Architecture', + ariaLabel: 'Smart Wallet Dapp Architecture Menu', + link: '/guides/getting-started/contract-rpc', + }, { text: 'Deploying Smart Contracts', ariaLabel: 'Deploying Menu', link: '/guides/getting-started/deploying', }, + { + text: 'Permissioned Contract Deployment', + ariaLabel: 'Permissioned Contract Deployment', + link: '/guides/coreeval/', + }, { text: 'Syncing Up to Mainnet', ariaLabel: 'Syncing Up to Mainnet', link: '/guides/getting-started/syncing-up', }, - ] + ], }, { - text: 'Agoric Components', - ariaLabel: 'Agoric Components Menu', - items: [ + text: 'Agoric Components', + ariaLabel: 'Agoric Components Menu', + items: [ { - text: 'Agoric CLI', - ariaLabel: 'Agoric CLI', - link: '/guides/agoric-cli/', + text: 'Agoric CLI', + ariaLabel: 'Agoric CLI', + link: '/guides/agoric-cli/', }, { - text: 'JavaScript Framework', - ariaLabel: 'JavaScript Framework', - link: '/guides/js-programming/', + text: 'JavaScript Framework', + ariaLabel: 'JavaScript Framework', + link: '/guides/js-programming/', }, { - text: 'Wallet', - ariaLabel: 'Wallet', - link: '/guides/wallet/' + text: 'Wallet', + ariaLabel: 'Wallet', + link: '/guides/wallet/', }, { - text: 'ERTP', - ariaLabel: 'ERTP', - link: '/guides/ertp/' + text: 'ERTP', + ariaLabel: 'ERTP', + link: '/guides/ertp/', }, { - text: 'Zoe', - ariaLabel: 'Zoe', - link: '/guides/zoe/' + text: 'Zoe', + ariaLabel: 'Zoe', + link: '/guides/zoe/', }, { - text: 'Permissioned Contract Deployment', - ariaLabel: 'Permissioned Contract Deployment', - link: '/guides/coreeval/' - }, - { - text: 'Example Zoe Contracts', - ariaLabel: 'Example Zoe Contracts', - link: '/guides/zoe/contracts/' + text: 'Example Zoe Contracts', + ariaLabel: 'Example Zoe Contracts', + link: '/guides/zoe/contracts/', }, { - text: 'Deployed Zoe Contracts', - ariaLabel: 'Deployed Zoe Contracts', - link: '/guides/zoe/actual-contracts/' + text: 'Deployed Zoe Contracts', + ariaLabel: 'Deployed Zoe Contracts', + link: '/guides/zoe/actual-contracts/', }, { - text: 'Agoric Dapps', - ariaLabel: 'Agoric Dapps', - link: '/guides/dapps/' + text: 'Agoric Dapps', + ariaLabel: 'Agoric Dapps', + link: '/guides/dapps/', }, - ] + ], }, { text: 'API Reference', ariaLabel: 'API Reference Menu', items: [ { - text: 'Wallet API', - ariaLabel: 'Wallet API Menu', - link: '/reference/wallet-api', + text: 'Wallet API', + ariaLabel: 'Wallet API Menu', + link: '/reference/wallet-api', }, { - text: 'ERTP API', - ariaLabel: 'ERTP API Menu', - link: '/reference/ertp-api/', + text: 'ERTP API', + ariaLabel: 'ERTP API Menu', + link: '/reference/ertp-api/', }, { text: 'REPL API', @@ -106,38 +111,42 @@ module.exports = [ ariaLabel: 'ZOE API Menu', link: '/reference/zoe-api/', }, - ] + ], }, { text: 'Glossary', ariaLabel: 'Glossary Menu', - link: '/glossary/' + link: '/glossary/', }, { text: 'New Features', ariaLabel: 'New Features Menu', - items: [ + items: [ { text: 'Governance', ariaLabel: 'Governance Internal Documentation', - link: 'https://github.com/Agoric/agoric-sdk/blob/master/packages/governance/docs/' + link: + 'https://github.com/Agoric/agoric-sdk/blob/master/packages/governance/docs/', }, { text: 'Patterns', ariaLabel: 'Patterns Source Code Link', - link: 'https://github.com/Agoric/agoric-sdk/blob/master/packages/store/src/types.js' + link: + 'https://github.com/Agoric/agoric-sdk/blob/master/packages/store/src/types.js', }, { text: 'Smart Wallet', ariaLabel: 'Smart Wallet Internal Documentation', - link: 'https://github.com/Agoric/agoric-sdk/blob/master/packages/smart-wallet/README.md' - }, + link: + 'https://github.com/Agoric/agoric-sdk/blob/master/packages/smart-wallet/README.md', + }, { text: 'Upgrading Contracts', ariaLabel: 'Upgrade Contracts Doc Link', - link: 'https://github.com/Agoric/agoric-sdk/blob/master/packages/zoe/README.md#upgrade' - }, - ] + link: + 'https://github.com/Agoric/agoric-sdk/blob/master/packages/zoe/README.md#upgrade', + }, + ], }, { text: 'Learn More', @@ -146,23 +155,23 @@ module.exports = [ { text: 'Agoric', ariaLabel: 'Agoric Homepage Link', - link: 'https://agoric.com/' - }, + link: 'https://agoric.com/', + }, { text: 'Papers', ariaLabel: 'Papers Page Link', - link: 'https://agoric.com/papers/' + link: 'https://agoric.com/papers/', }, { text: 'YouTube', ariaLabel: 'Agoric YouTube Channel Page Link', - link: 'https://www.youtube.com/channel/UCpY91oQLh_Lp0mitdZ5bYWg/' - }, + link: 'https://www.youtube.com/channel/UCpY91oQLh_Lp0mitdZ5bYWg/', + }, { text: 'Github', ariaLabel: 'Agoric Github Link', - link: 'https://github.com/Agoric/' - } - ] - }, -] + link: 'https://github.com/Agoric/', + }, + ], + }, +]; diff --git a/main/README.md b/main/README.md index ac035b6ec..086df4c88 100644 --- a/main/README.md +++ b/main/README.md @@ -4,53 +4,108 @@ # run `yarn docs:dev` at any time to start local dev server and access # website at localhost:8080 by default #### -home: true # use default home page layout (hero image with text, features section) -heroImage: /logo.svg -## Action button -actionText: Get Started → # text that goes in the button -actionLink: /guides/getting-started/ # go-to link when clicking on button - -## Features section -features: - - title: Electronic Rights Transfer Protocol (ERTP) - details: Agoric empowers individuals to securely execute transactions, establish new markets, and craft novel patterns of exchange — without centralized control. - - - title: Better security architecture with OCaps - details: Agoric uses an object-capability model (OCaps) security architecture, in which access to a programming object itself is the authority to use the object. - - - title: Securely Create and Transfer Assets - details: All kinds of digital assets can be easily created, but importantly, they can be transferred in exactly the same ways, with exactly the same security properties. - -footer: Apache-2.0 Licensed | Copyright © 2022 - Agoric +home: false +footer: Apache-2.0 Licensed | Copyright © 2023 - Agoric --- -<div class="flex flex--column flex--center"> - <p> - Learn about ERTP (Electronic Rights Transfer Protocol), a uniform way of transferring tokens and other digital assets in JavaScript. - </p> - <Button-Action-Link - text="Explore ERTP" - link="/guides/ertp/" - /> +<div class="home-banner"> + Receive our latest tutorials, webinar invites, and much more! <a href="https://agoric.com/dev-newsletter" style="color: white;text-decoration: underline;"">Join our newsletter</a> </div> -<br> -<div class="flex flex--column flex--center"> - <p>Check out Zoe, a smart contract framework responsible for enforcing what we call "offer safety". The smart contracts that run on top of Zoe are responsible for figuring out proposed reallocations of resources. - </p> - <Button-Action-Link - text="Build on Zoe" - link="/guides/zoe/" + +<div class="home-section"> + <HomeButtonHeader + title="Agoric documentation" + text="The Agoric platform makes it possible to write safer smart contracts with your JavaScript skill set." /> + <HomeButtonRow + title1="What's Agoric" + text1="Learn about Agoric and its JavaScript platform" + link1="https://www.agoric.com" + title2="Getting Started" + text2="Set up your environment and start building apps" + link2="/guides/getting-started/" + title3="Contract Framework" + text3="See the safety properties of our Zoe Framework" + link3="/guides/zoe/" + title4="Token Protocol" + text4="Understand the ins and outs of Agoric's Electronic Rights Transfer Protocol (ERTP)" + link4="/guides/ertp/" + title5="Samples" + text5="Look through our smart contract and dapp examples" + link5="/guides/zoe/contracts/" + title6="Bounties" + text6="A rotating list of incentivized bounties to grow our platform" + link6="https://components.agoric.com/bounties/open-bounties" + /> </div> -## The Platform +<div class="home-section"> + <HomeButtonHeader + title="Blockchain resources" + text="The tools your need to get the job done." + /> + <HomeButtonRow + title1="Block Explorer" + text1="View transactions across the Agoric chain" + link1="https://bigdipper.live/agoric" + title2="Keplr Wallet" + text2="Sign transactions with the most popular wallet in Cosmos" + link2="https://www.keplr.app/download" + title3="Component Library" + text3="Pre-built smart contracts for DeFi, NFTs, and cross-chain!" + link3="https://components.agoric.com/" + title4="Cosmos SDK" + text4="Our battle-tested consensus mechanism" + link4="https://docs.cosmos.network/" + title5="IBC" + text5="The protocol ensuring Agoric is interoperable with 60+ chains" + link5="https://ibc.cosmos.network/main" + title6="Integrations" + text6="Browse through our catalogue of integrations" + link6="/guides/integration/chain-integration" + /> + </div> + +<div class="home-section"> + <HomeButtonHeader + title="Ready to learn more?" + text="Once you've completed the Getting Started, here are a few next steps." + /> + <h3 style="margin-top: 0em;"> + <a href="/guides/js-programming/hardened-js.html">Learn the basics of HardenedJS</a> + </h3> + It's JavaScript with the safety you expect - see why MetaMask uses it to safely run their Snaps technology for 30M+ customers. + <h3> + <a href="/guides/zoe/">See the safety properties of our Zoe Framework</a> + </h3> + From Offer Safety to the POLA, the Zoe Framework protects devs (and users) while writing your smart contract logic. +</div> -Building on 30 years of experience, Agoric is developing a secure distributed object-capabilities (OCap) platform for smart contracts and market-oriented programming. Our platform supports the development of smart contracts and market institutions across many different scales, from large public blockchains to small two-party contracts. +<div class="home-section"> + <HomeButtonHeader + title="Videos" + text="Check out our primer on writing programmable smart contracts in JavaScript!" + /> -Our OCaps platform consists of: + <div> +<iframe class="youtube-embed" src="https://www.youtube-nocookie.com/embed/Em32hztid_k?si=3bfO6P4vEWV-qoKd&controls=0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe> + </div> +</div> -- A robust architecture for building secure smart contracts. -- A foundation in JavaScript for maximum reach. -- A cryptographic routing fabric for inter-chain interoperability. -- A library of market abstractions and a framework for securely composing them. -- A framework for secure user interaction. +<div class="home-section"> + <HomeButtonHeader + title="Connect with us" + text="" + /> + <HomeButtonRow + title1="Office Hours" + text1="Workshop ideas with our engineers every Wednesday!" + link1="https://agoric.com/office-hours" + title2="Discord" + text2="Meet our developer community and make friend <3" + link2="https://agoric.com/discord" + title3="Twitter" + text3="Catch up on all things Agoric product, events, and more" + link3="https://twitter.com/agoric" + /> +</div> diff --git a/main/guides/getting-started/README.md b/main/guides/getting-started/README.md index 52f397f2c..ee83b7c56 100644 --- a/main/guides/getting-started/README.md +++ b/main/guides/getting-started/README.md @@ -1,15 +1,19 @@ # Installing the Agoric SDK To write JavaScript smart contracts using the Agoric Zoe framework, first install the Agoric Software -Development Kit (SDK). The Agoric SDK is currently supported on MacOS, Linux, and Windows Subsystem for -Linux (WSL). There is currently **no support** for native Windows 10 or native Windows 11. +Development Kit (SDK). -After installing the Agoric SDK, you can proceed to [starting a project](./start-a-project.md) with -the Agoric CLI to create and deploy [smart contracts](./deploying.md). +After installing the Agoric SDK, you can proceed to [starting a project](./start-a-project.md). + +## Getting Support + +- Chat with peers on the [Agoric Discord](https://agoric.com/discord) +- Join weekly [Office Hours](https://github.com/Agoric/agoric-sdk/wiki/Office-Hours) +- Search and post [Q & A](https://github.com/Agoric/agoric-sdk/discussions/categories/q-a) in [agoric-sdk discussions](https://github.com/Agoric/agoric-sdk/discussions) ## Quick Start -If you're familar with JavaScript development tools such as `node`, `yarn`, and `git`: +If you're on a [supported platform](#platform-linux-shell-or-equivalent) (MacOS, Linux, or WSL) and you're familar with JavaScript development tools such as `node`, `yarn`, and `git`: ```shell go version # Version 1.20.3 or higher @@ -26,7 +30,7 @@ agoric --version # Prints the version number of the SDK Now you are ready proceed to [starting a project](./start-a-project.md). -If `agoric` is not found, then you may need to add the parent directory of where your `yarn link-cli` command created a folder. For example, if you created a folder called `Agoric` in your `~/bin` directory, you may need to add `~/bin` to your PATH. +_If you get "command not found", see [troubleshooting below](#install-agoric-cli)._ ::: tip Watch: Prepare Your Agoric Environment (November 2020) This presentation is a good overview of the Agoric SDK setup process, @@ -48,6 +52,11 @@ The Agoric SDK is supported on <a href="https://en.wikipedia.org/wiki/Linux">Lin - To launch a terminal on Linux, use the **Terminal** application. - To access WSL from Windows, visit the [WSL documentation](https://docs.microsoft.com/en-us/windows/wsl/). +::: tip Mac Dev Tools +On a Mac, you must first install +[Xcode](https://apps.apple.com/us/app/xcode/id497799835) +::: + ## Install Go Download Go from [go.dev/doc/install](https://go.dev/doc/install) and follow the instructions for your platform. @@ -109,7 +118,9 @@ yarn install yarn build ``` -**Note:** MacOS, Linux, and WSL are currently supported. There is currently **no support** for native Windows 10 or native Windows 11. +**Note:** If this `yarn build` step fails, check that you are on a +[supported platform](#platform-linux-shell-or-equivalent) and +not native Windows. ## Build the Cosmic Swingset Package @@ -119,7 +130,7 @@ yarn build ## Install Agoric CLI -Install the Agoric CLI (Command Line Interface) in a convenient place in your `$PATH` such as: +Use `yarn link-cli` to install the Agoric CLI (Command Line Interface) in a convenient place of your choosing such as: ```shell yarn link-cli ~/bin/agoric @@ -131,7 +142,13 @@ or: sudo yarn link-cli /usr/local/bin/agoric ``` -**Note:** Run `echo $PATH` to see your current `$PATH`. Here you'll see which directory you should use for `yarn link-cli`. +**Note:** Run `echo $PATH` to see directories in your current path, separated by colons. These are good candidates for where to have `yarn link-cli` place the executable. + +::: tip Troubleshooting "command not found" +Watch: + +- [Linux add to \$PATH: Fix "command not found" error (Linux & Mac)](https://www.youtube.com/watch?v=gkqsLRDnqlA) 6:19 Mar 2018. + ::: ## Check the Agoric Version @@ -143,6 +160,4 @@ agoric --version # v0.18.2 "community-dev" branch If the install was successful, you are ready to proceed to [starting a project](./start-a-project.md). -Should `agoric` not be found, then you may need to add the parent directory of where your `yarn link-cli` command created the "agoric-sdk" directory. -Please see the youtube video [Linux add to \$PATH: Fix "command not found" error (Linux & Mac)](https://www.youtube.com/watch?v=gkqsLRDnqlA) for more information. diff --git a/main/guides/getting-started/assets/inv-spec.mmd b/main/guides/getting-started/assets/inv-spec.mmd new file mode 100644 index 000000000..8640daab5 --- /dev/null +++ b/main/guides/getting-started/assets/inv-spec.mmd @@ -0,0 +1,11 @@ +sequenceDiagram + + box darksalmon Hardened JS VM + participant walletFactory + participant zoe + participant contract + end + + walletFactory->>contract: makeBattleInvitation('troll') + contract-->>zoe: makeInvitation(...) + zoe-->>walletFactory: invitation diff --git a/main/guides/getting-started/assets/inv-spec.svg b/main/guides/getting-started/assets/inv-spec.svg new file mode 100644 index 000000000..263579e17 --- /dev/null +++ b/main/guides/getting-started/assets/inv-spec.svg @@ -0,0 +1 @@ +<svg aria-roledescription="sequence" role="graphics-document document" viewBox="-50 -10 660 351" style="max-width: 660px; background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="100%" id="mermaid-1691722987253"><g><rect class="rect" height="330" width="560" stroke="rgb(0,0,0, 0.5)" fill="darksalmon" y="0" x="0"/><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="text" alignment-baseline="central" dominant-baseline="central" y="9" x="280"><tspan dy="0" x="280">Hardened JS VM</tspan></text></g><style>#mermaid-1691722987253{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-1691722987253 .error-icon{fill:#552222;}#mermaid-1691722987253 .error-text{fill:#552222;stroke:#552222;}#mermaid-1691722987253 .edge-thickness-normal{stroke-width:2px;}#mermaid-1691722987253 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-1691722987253 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-1691722987253 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-1691722987253 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-1691722987253 .marker{fill:#333333;stroke:#333333;}#mermaid-1691722987253 .marker.cross{stroke:#333333;}#mermaid-1691722987253 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-1691722987253 .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-1691722987253 text.actor>tspan{fill:black;stroke:none;}#mermaid-1691722987253 .actor-line{stroke:grey;}#mermaid-1691722987253 .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-1691722987253 .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-1691722987253 #arrowhead path{fill:#333;stroke:#333;}#mermaid-1691722987253 .sequenceNumber{fill:white;}#mermaid-1691722987253 #sequencenumber{fill:#333;}#mermaid-1691722987253 #crosshead path{fill:#333;stroke:#333;}#mermaid-1691722987253 .messageText{fill:#333;stroke:none;}#mermaid-1691722987253 .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-1691722987253 .labelText,#mermaid-1691722987253 .labelText>tspan{fill:black;stroke:none;}#mermaid-1691722987253 .loopText,#mermaid-1691722987253 .loopText>tspan{fill:black;stroke:none;}#mermaid-1691722987253 .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-1691722987253 .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-1691722987253 .noteText,#mermaid-1691722987253 .noteText>tspan{fill:black;stroke:none;}#mermaid-1691722987253 .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-1691722987253 .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-1691722987253 .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-1691722987253 .actorPopupMenu{position:absolute;}#mermaid-1691722987253 .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-1691722987253 .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-1691722987253 .actor-man circle,#mermaid-1691722987253 line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-1691722987253 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g/><defs><symbol height="24" width="24" id="computer"><path d="M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z" transform="scale(.5)"/></symbol></defs><defs><symbol clip-rule="evenodd" fill-rule="evenodd" id="database"><path d="M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z" transform="scale(.5)"/></symbol></defs><defs><symbol height="24" width="24" id="clock"><path d="M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z" transform="scale(.5)"/></symbol></defs><g><line stroke="#999" stroke-width="0.5px" class="200" y2="275" x2="80" y1="33" x1="80" id="actor5"/><g id="root-5"><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="28" x="5"/><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="60.5" x="80"><tspan dy="0" x="80">walletFactory</tspan></text></g></g><g><line stroke="#999" stroke-width="0.5px" class="200" y2="275" x2="280" y1="33" x1="280" id="actor6"/><g id="root-6"><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="28" x="205"/><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="60.5" x="280"><tspan dy="0" x="280">zoe</tspan></text></g></g><g><line stroke="#999" stroke-width="0.5px" class="200" y2="275" x2="480" y1="33" x1="480" id="actor7"/><g id="root-7"><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="28" x="405"/><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="60.5" x="480"><tspan dy="0" x="480">contract</tspan></text></g></g><defs><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="9" id="arrowhead"><path d="M 0 0 L 10 5 L 0 10 z"/></marker></defs><defs><marker refY="5" refX="4" orient="auto" markerHeight="8" markerWidth="15" id="crosshead"><path style="stroke-dasharray: 0, 0;" d="M 1,2 L 6,7 M 6,2 L 1,7" stroke-width="1pt" stroke="#000000" fill="none"/></marker></defs><defs><marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="18" id="filled-head"><path d="M 18,7 L9,13 L14,7 L9,1 Z"/></marker></defs><defs><marker orient="auto" markerHeight="40" markerWidth="60" refY="15" refX="15" id="sequencenumber"><circle r="6" cy="15" cx="15"/></marker></defs><text style="font-size: 16px; font-weight: 400;" dy="1em" class="messageText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="108" x="280">makeBattleInvitation('troll')</text><line style="fill: none;" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine0" y2="141" x2="480" y1="141" x1="80"/><text style="font-size: 16px; font-weight: 400;" dy="1em" class="messageText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="156" x="380">makeInvitation(...)</text><line style="stroke-dasharray: 3, 3; fill: none;" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine1" y2="189" x2="280" y1="189" x1="480"/><text style="font-size: 16px; font-weight: 400;" dy="1em" class="messageText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="204" x="180">invitation</text><line style="stroke-dasharray: 3, 3; fill: none;" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine1" y2="235" x2="80" y1="235" x1="280"/><g><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="255" x="5"/><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="287.5" x="80"><tspan dy="0" x="80">walletFactory</tspan></text></g><g><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="255" x="205"/><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="287.5" x="280"><tspan dy="0" x="280">zoe</tspan></text></g><g><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="255" x="405"/><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="287.5" x="480"><tspan dy="0" x="480">contract</tspan></text></g></svg> \ No newline at end of file diff --git a/main/guides/getting-started/assets/sw-dapp-arch.mmd b/main/guides/getting-started/assets/sw-dapp-arch.mmd new file mode 100644 index 000000000..aad4c7c03 --- /dev/null +++ b/main/guides/getting-started/assets/sw-dapp-arch.mmd @@ -0,0 +1,25 @@ +sequenceDiagram + actor client + + box aqua Cosmos SDK layer + participant chain + end + + box darksalmon Hardened JS VM + participant walletFactory + participant zoe + participant contract + end + + client->>chain: Offer tx + chain->>walletFactory: Offer Spec + walletFactory->>+zoe: Offer + walletFactory-->>chain: Offer status + client->>+chain: vstorage query + chain-->>-client: Offer status + zoe->>+contract: Proposal + contract-->>-zoe: reallocations + zoe-->>-walletFactory: payouts + walletFactory-->>chain: Offer status + client->>+chain: vstorage query + chain-->>-client: Offer status diff --git a/main/guides/getting-started/assets/sw-dapp-arch.svg b/main/guides/getting-started/assets/sw-dapp-arch.svg new file mode 100644 index 000000000..20c506b32 --- /dev/null +++ b/main/guides/getting-started/assets/sw-dapp-arch.svg @@ -0,0 +1 @@ +<svg aria-roledescription="sequence" role="graphics-document document" viewBox="-50 -10 1080 761" style="max-width: 1080px; background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="100%" id="mermaid-1691697229501"><g><rect class="rect" height="740" width="560" stroke="rgb(0,0,0, 0.5)" fill="darksalmon" y="0" x="420"/><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="text" alignment-baseline="central" dominant-baseline="central" y="9" x="700"><tspan dy="0" x="700">Hardened JS VM</tspan></text></g><g><rect class="rect" height="740" width="160" stroke="rgb(0,0,0, 0.5)" fill="aqua" y="0" x="200"/><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="text" alignment-baseline="central" dominant-baseline="central" y="9" x="280"><tspan dy="0" x="280">Cosmos SDK layer</tspan></text></g><style>#mermaid-1691697229501{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-1691697229501 .error-icon{fill:#552222;}#mermaid-1691697229501 .error-text{fill:#552222;stroke:#552222;}#mermaid-1691697229501 .edge-thickness-normal{stroke-width:2px;}#mermaid-1691697229501 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-1691697229501 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-1691697229501 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-1691697229501 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-1691697229501 .marker{fill:#333333;stroke:#333333;}#mermaid-1691697229501 .marker.cross{stroke:#333333;}#mermaid-1691697229501 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-1691697229501 .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-1691697229501 text.actor>tspan{fill:black;stroke:none;}#mermaid-1691697229501 .actor-line{stroke:grey;}#mermaid-1691697229501 .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-1691697229501 .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-1691697229501 #arrowhead path{fill:#333;stroke:#333;}#mermaid-1691697229501 .sequenceNumber{fill:white;}#mermaid-1691697229501 #sequencenumber{fill:#333;}#mermaid-1691697229501 #crosshead path{fill:#333;stroke:#333;}#mermaid-1691697229501 .messageText{fill:#333;stroke:none;}#mermaid-1691697229501 .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-1691697229501 .labelText,#mermaid-1691697229501 .labelText>tspan{fill:black;stroke:none;}#mermaid-1691697229501 .loopText,#mermaid-1691697229501 .loopText>tspan{fill:black;stroke:none;}#mermaid-1691697229501 .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-1691697229501 .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-1691697229501 .noteText,#mermaid-1691697229501 .noteText>tspan{fill:black;stroke:none;}#mermaid-1691697229501 .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-1691697229501 .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-1691697229501 .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-1691697229501 .actorPopupMenu{position:absolute;}#mermaid-1691697229501 .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-1691697229501 .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-1691697229501 .actor-man circle,#mermaid-1691697229501 line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-1691697229501 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g/><defs><symbol height="24" width="24" id="computer"><path d="M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z" transform="scale(.5)"/></symbol></defs><defs><symbol clip-rule="evenodd" fill-rule="evenodd" id="database"><path d="M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z" transform="scale(.5)"/></symbol></defs><defs><symbol height="24" width="24" id="clock"><path d="M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z" transform="scale(.5)"/></symbol></defs><line stroke="#999" stroke-width="0.5px" class="200" y2="685" x2="75" y1="108" x1="75" id="actor0"/><g class="actor-man"><line y2="73" x2="75" y1="53" x1="75" id="actor-man-torso0"/><line y2="61" x2="93" y1="61" x1="57" id="actor-man-arms0"/><line y2="73" x2="75" y1="88" x1="57"/><line y2="88" x2="91" y1="73" x1="75"/><circle height="65" width="150" r="15" cy="38" cx="75"/><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="95.5" x="75"><tspan dy="0" x="75">client</tspan></text></g><g><line stroke="#999" stroke-width="0.5px" class="200" y2="685" x2="280" y1="33" x1="280" id="actor1"/><g id="root-1"><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="28" x="205"/><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="60.5" x="280"><tspan dy="0" x="280">chain</tspan></text></g></g><g><line stroke="#999" stroke-width="0.5px" class="200" y2="685" x2="500" y1="33" x1="500" id="actor2"/><g id="root-2"><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="28" x="425"/><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="60.5" x="500"><tspan dy="0" x="500">walletFactory</tspan></text></g></g><g><line stroke="#999" stroke-width="0.5px" class="200" y2="685" x2="700" y1="33" x1="700" id="actor3"/><g id="root-3"><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="28" x="625"/><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="60.5" x="700"><tspan dy="0" x="700">zoe</tspan></text></g></g><g><line stroke="#999" stroke-width="0.5px" class="200" y2="685" x2="900" y1="33" x1="900" id="actor4"/><g id="root-4"><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="28" x="825"/><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="60.5" x="900"><tspan dy="0" x="900">contract</tspan></text></g></g><defs><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="9" id="arrowhead"><path d="M 0 0 L 10 5 L 0 10 z"/></marker></defs><defs><marker refY="5" refX="4" orient="auto" markerHeight="8" markerWidth="15" id="crosshead"><path style="stroke-dasharray: 0, 0;" d="M 1,2 L 6,7 M 6,2 L 1,7" stroke-width="1pt" stroke="#000000" fill="none"/></marker></defs><defs><marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="18" id="filled-head"><path d="M 18,7 L9,13 L14,7 L9,1 Z"/></marker></defs><defs><marker orient="auto" markerHeight="40" markerWidth="60" refY="15" refX="15" id="sequencenumber"><circle r="6" cy="15" cx="15"/></marker></defs><g><rect class="activation0" ry="0" rx="0" height="276" width="10" stroke="#666" fill="#EDF2AE" y="231" x="695"/></g><g><rect class="activation0" ry="0" rx="0" height="44" width="10" stroke="#666" fill="#EDF2AE" y="325" x="275"/></g><g><rect class="activation0" ry="0" rx="0" height="44" width="10" stroke="#666" fill="#EDF2AE" y="417" x="895"/></g><g><rect class="activation0" ry="0" rx="0" height="46" width="10" stroke="#666" fill="#EDF2AE" y="599" x="275"/></g><text style="font-size: 16px; font-weight: 400;" dy="1em" class="messageText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="108" x="178">Offer tx</text><line style="fill: none;" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine0" y2="139" x2="280" y1="139" x1="75"/><text style="font-size: 16px; font-weight: 400;" dy="1em" class="messageText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="154" x="390">Offer Spec</text><line style="fill: none;" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine0" y2="185" x2="500" y1="185" x1="280"/><text style="font-size: 16px; font-weight: 400;" dy="1em" class="messageText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="200" x="600">Offer</text><line style="fill: none;" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine0" y2="231" x2="700" y1="231" x1="500"/><text style="font-size: 16px; font-weight: 400;" dy="1em" class="messageText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="246" x="390">Offer status</text><line style="stroke-dasharray: 3, 3; fill: none;" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine1" y2="277" x2="280" y1="277" x1="500"/><text style="font-size: 16px; font-weight: 400;" dy="1em" class="messageText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="292" x="178">vstorage query</text><line style="fill: none;" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine0" y2="323" x2="280" y1="323" x1="75"/><text style="font-size: 16px; font-weight: 400;" dy="1em" class="messageText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="338" x="175">Offer status</text><line style="stroke-dasharray: 3, 3; fill: none;" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine1" y2="369" x2="75" y1="369" x1="275"/><text style="font-size: 16px; font-weight: 400;" dy="1em" class="messageText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="384" x="803">Proposal</text><line style="fill: none;" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine0" y2="415" x2="900" y1="415" x1="705"/><text style="font-size: 16px; font-weight: 400;" dy="1em" class="messageText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="430" x="800">reallocations</text><line style="stroke-dasharray: 3, 3; fill: none;" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine1" y2="461" x2="705" y1="461" x1="895"/><text style="font-size: 16px; font-weight: 400;" dy="1em" class="messageText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="476" x="598">payouts</text><line style="stroke-dasharray: 3, 3; fill: none;" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine1" y2="507" x2="500" y1="507" x1="695"/><text style="font-size: 16px; font-weight: 400;" dy="1em" class="messageText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="522" x="390">Offer status</text><line style="stroke-dasharray: 3, 3; fill: none;" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine1" y2="553" x2="280" y1="553" x1="500"/><text style="font-size: 16px; font-weight: 400;" dy="1em" class="messageText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="568" x="178">vstorage query</text><line style="fill: none;" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine0" y2="599" x2="280" y1="599" x1="75"/><text style="font-size: 16px; font-weight: 400;" dy="1em" class="messageText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="614" x="175">Offer status</text><line style="stroke-dasharray: 3, 3; fill: none;" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine1" y2="645" x2="75" y1="645" x1="275"/><g class="actor-man"><line y2="710" x2="75" y1="690" x1="75" id="actor-man-torso4"/><line y2="698" x2="93" y1="698" x1="57" id="actor-man-arms4"/><line y2="710" x2="75" y1="725" x1="57"/><line y2="725" x2="91" y1="710" x1="75"/><circle height="65" width="150" r="15" cy="675" cx="75"/><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="732.5" x="75"><tspan dy="0" x="75">client</tspan></text></g><g><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="665" x="205"/><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="697.5" x="280"><tspan dy="0" x="280">chain</tspan></text></g><g><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="665" x="425"/><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="697.5" x="500"><tspan dy="0" x="500">walletFactory</tspan></text></g><g><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="665" x="625"/><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="697.5" x="700"><tspan dy="0" x="700">zoe</tspan></text></g><g><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="665" x="825"/><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="697.5" x="900"><tspan dy="0" x="900">contract</tspan></text></g></svg> \ No newline at end of file diff --git a/main/guides/getting-started/assets/vstorage-brand-q.mmd b/main/guides/getting-started/assets/vstorage-brand-q.mmd new file mode 100644 index 000000000..057cddb3a --- /dev/null +++ b/main/guides/getting-started/assets/vstorage-brand-q.mmd @@ -0,0 +1,18 @@ +sequenceDiagram + actor client + + box aqua Cosmos SDK layer + participant chain + end + + box darksalmon Hardened JS VM + participant chainStorage + participant agoricNames + end + + agoricNames->>chainStorage: E(root).makeChildNode('brand') + chainStorage-->>agoricNames: brandNode + agoricNames-->>chainStorage: E(brandNode).setValue('...IST...') + chainStorage->>chain: change('published.agoricNames.brand', '...IST...') + client->>chain: query('published.agoricNames.brand') + chain-->>client: '...IST...' diff --git a/main/guides/getting-started/assets/vstorage-brand-q.svg b/main/guides/getting-started/assets/vstorage-brand-q.svg new file mode 100644 index 000000000..0a5bc5e25 --- /dev/null +++ b/main/guides/getting-started/assets/vstorage-brand-q.svg @@ -0,0 +1 @@ +<svg aria-roledescription="sequence" role="graphics-document document" viewBox="-50 -10 1050 550" style="max-width: 1050px; background-color: rgb(255, 255, 255);" xmlns="http://www.w3.org/2000/svg" width="100%" id="graph-div" height="100%"><g><rect class="rect" height="529" width="467" stroke="rgb(0,0,0, 0.5)" fill="darksalmon" y="0" x="483"></rect><text class="text" alignment-baseline="central" dominant-baseline="central" style="text-anchor: middle; font-size: 16px; font-weight: 400;" y="11.5" x="716.5"><tspan dy="0" x="716.5">Hardened JS VM</tspan></text></g><g><rect class="rect" height="529" width="160" stroke="rgb(0,0,0, 0.5)" fill="aqua" y="0" x="200"></rect><text class="text" alignment-baseline="central" dominant-baseline="central" style="text-anchor: middle; font-size: 16px; font-weight: 400;" y="11.5" x="280"><tspan dy="0" x="280">Cosmos SDK layer</tspan></text></g><g><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="454" x="795"></rect><text class="actor" alignment-baseline="central" dominant-baseline="central" style="text-anchor: middle; font-size: 16px; font-weight: 400;" y="486.5" x="870"><tspan dy="0" x="870">agoricNames</tspan></text></g><g><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="454" x="488"></rect><text class="actor" alignment-baseline="central" dominant-baseline="central" style="text-anchor: middle; font-size: 16px; font-weight: 400;" y="486.5" x="563"><tspan dy="0" x="563">chainStorage</tspan></text></g><g><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="454" x="205"></rect><text class="actor" alignment-baseline="central" dominant-baseline="central" style="text-anchor: middle; font-size: 16px; font-weight: 400;" y="486.5" x="280"><tspan dy="0" x="280">chain</tspan></text></g><g><line stroke="#999" stroke-width="0.5px" class="200" y2="454" x2="870" y1="38" x1="870" id="actor3"></line><g id="root-3"><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="33" x="795"></rect><text class="actor" alignment-baseline="central" dominant-baseline="central" style="text-anchor: middle; font-size: 16px; font-weight: 400;" y="65.5" x="870"><tspan dy="0" x="870">agoricNames</tspan></text></g></g><g><line stroke="#999" stroke-width="0.5px" class="200" y2="454" x2="563" y1="38" x1="563" id="actor2"></line><g id="root-2"><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="33" x="488"></rect><text class="actor" alignment-baseline="central" dominant-baseline="central" style="text-anchor: middle; font-size: 16px; font-weight: 400;" y="65.5" x="563"><tspan dy="0" x="563">chainStorage</tspan></text></g></g><g><line stroke="#999" stroke-width="0.5px" class="200" y2="454" x2="280" y1="38" x1="280" id="actor1"></line><g id="root-1"><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="33" x="205"></rect><text class="actor" alignment-baseline="central" dominant-baseline="central" style="text-anchor: middle; font-size: 16px; font-weight: 400;" y="65.5" x="280"><tspan dy="0" x="280">chain</tspan></text></g></g><style>#graph-div{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#graph-div .error-icon{fill:#552222;}#graph-div .error-text{fill:#552222;stroke:#552222;}#graph-div .edge-thickness-normal{stroke-width:2px;}#graph-div .edge-thickness-thick{stroke-width:3.5px;}#graph-div .edge-pattern-solid{stroke-dasharray:0;}#graph-div .edge-pattern-dashed{stroke-dasharray:3;}#graph-div .edge-pattern-dotted{stroke-dasharray:2;}#graph-div .marker{fill:#333333;stroke:#333333;}#graph-div .marker.cross{stroke:#333333;}#graph-div svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#graph-div .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#graph-div text.actor>tspan{fill:black;stroke:none;}#graph-div .actor-line{stroke:grey;}#graph-div .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#graph-div .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#graph-div #arrowhead path{fill:#333;stroke:#333;}#graph-div .sequenceNumber{fill:white;}#graph-div #sequencenumber{fill:#333;}#graph-div #crosshead path{fill:#333;stroke:#333;}#graph-div .messageText{fill:#333;stroke:none;}#graph-div .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#graph-div .labelText,#graph-div .labelText>tspan{fill:black;stroke:none;}#graph-div .loopText,#graph-div .loopText>tspan{fill:black;stroke:none;}#graph-div .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#graph-div .note{stroke:#aaaa33;fill:#fff5ad;}#graph-div .noteText,#graph-div .noteText>tspan{fill:black;stroke:none;}#graph-div .activation0{fill:#f4f4f4;stroke:#666;}#graph-div .activation1{fill:#f4f4f4;stroke:#666;}#graph-div .activation2{fill:#f4f4f4;stroke:#666;}#graph-div .actorPopupMenu{position:absolute;}#graph-div .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#graph-div .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#graph-div .actor-man circle,#graph-div line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#graph-div :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g></g><defs><symbol height="24" width="24" id="computer"><path d="M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z" transform="scale(.5)"></path></symbol></defs><defs><symbol clip-rule="evenodd" fill-rule="evenodd" id="database"><path d="M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z" transform="scale(.5)"></path></symbol></defs><defs><symbol height="24" width="24" id="clock"><path d="M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z" transform="scale(.5)"></path></symbol></defs><defs><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="9" id="arrowhead"><path d="M 0 0 L 10 5 L 0 10 z"></path></marker></defs><defs><marker refY="5" refX="4" orient="auto" markerHeight="8" markerWidth="15" id="crosshead"><path d="M 1,2 L 6,7 M 6,2 L 1,7" stroke-width="1pt" style="stroke-dasharray: 0px, 0px;" stroke="#000000" fill="none"></path></marker></defs><defs><marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="18" id="filled-head"><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker orient="auto" markerHeight="40" markerWidth="60" refY="15" refX="15" id="sequencenumber"><circle r="6" cy="15" cx="15"></circle></marker></defs><line stroke="#999" stroke-width="0.5px" class="200" y2="454" x2="75" y1="113" x1="75" id="actor0"></line><g class="actor-man"><line y2="78" x2="75" y1="58" x1="75" id="actor-man-torso0"></line><line y2="66" x2="93" y1="66" x1="57" id="actor-man-arms0"></line><line y2="78" x2="75" y1="93" x1="57"></line><line y2="93" x2="91" y1="78" x1="75"></line><circle height="65" width="150" r="15" cy="43" cx="75"></circle><text class="actor" alignment-baseline="central" dominant-baseline="central" style="text-anchor: middle; font-size: 16px; font-weight: 400;" y="100.5" x="75"><tspan dy="0" x="75">client</tspan></text></g><text dy="1em" class="messageText" style="font-size: 16px; font-weight: 400;" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="113" x="717">E(root).makeChildNode('brand')</text><line marker-end="url(#arrowhead)" style="fill: none;" stroke="none" stroke-width="2" class="messageLine0" y2="154" x2="563" y1="154" x1="870"></line><text dy="1em" class="messageText" style="font-size: 16px; font-weight: 400;" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="169" x="717">brandNode</text><line marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine1" style="stroke-dasharray: 3px, 3px; fill: none;" y2="210" x2="870" y1="210" x1="563"></line><text dy="1em" class="messageText" style="font-size: 16px; font-weight: 400;" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="225" x="717">E(brandNode).setValue('...IST...')</text><line marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine1" style="stroke-dasharray: 3px, 3px; fill: none;" y2="266" x2="563" y1="266" x1="870"></line><text dy="1em" class="messageText" style="font-size: 16px; font-weight: 400;" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="281" x="422">change('...brand', '...IST...')</text><line marker-end="url(#arrowhead)" style="fill: none;" stroke="none" stroke-width="2" class="messageLine0" y2="322" x2="280" y1="322" x1="563"></line><text dy="1em" class="messageText" style="font-size: 16px; font-weight: 400;" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="337" x="178">query('...brand')</text><line marker-end="url(#arrowhead)" style="fill: none;" stroke="none" stroke-width="2" class="messageLine0" y2="378" x2="280" y1="378" x1="75"></line><text dy="1em" class="messageText" style="font-size: 16px; font-weight: 400;" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="393" x="178">'...IST...'</text><line marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine1" style="stroke-dasharray: 3px, 3px; fill: none;" y2="434" x2="75" y1="434" x1="280"></line><g class="actor-man"><line y2="499" x2="75" y1="479" x1="75" id="actor-man-torso3"></line><line y2="487" x2="93" y1="487" x1="57" id="actor-man-arms3"></line><line y2="499" x2="75" y1="514" x1="57"></line><line y2="514" x2="91" y1="499" x1="75"></line><circle height="65" width="150" r="15" cy="464" cx="75"></circle><text class="actor" alignment-baseline="central" dominant-baseline="central" style="text-anchor: middle; font-size: 16px; font-weight: 400;" y="521.5" x="75"><tspan dy="0" x="75">client</tspan></text></g></svg> diff --git a/main/guides/getting-started/assets/zoe-simp.mmd b/main/guides/getting-started/assets/zoe-simp.mmd new file mode 100644 index 000000000..f21302cfd --- /dev/null +++ b/main/guides/getting-started/assets/zoe-simp.mmd @@ -0,0 +1,14 @@ +sequenceDiagram +box darksalmon Zoe API (simplified) + + participant agent + participant zoe + participant contract +end + + agent->>+zoe: offer(invitation, {give, want}, pmts) + zoe-->>agent: userSeat + zoe->>+contract: {give, want} + contract-->>-zoe: reallocate() + agent->>zoe: E(userSeat).getPayouts() + zoe-->>-agent: payout payments diff --git a/main/guides/getting-started/assets/zoe-simp.svg b/main/guides/getting-started/assets/zoe-simp.svg new file mode 100644 index 000000000..01f4de7a2 --- /dev/null +++ b/main/guides/getting-started/assets/zoe-simp.svg @@ -0,0 +1 @@ +<svg aria-roledescription="sequence" role="graphics-document document" viewBox="-50 -10 783 492" style="max-width: 783px; background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="100%" id="mermaid-1691701140603"><g><rect class="rect" height="471" width="683" stroke="rgb(0,0,0, 0.5)" fill="darksalmon" y="0" x="0"/><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="text" alignment-baseline="central" dominant-baseline="central" y="9.5" x="341.5"><tspan dy="0" x="341.5">Zoe API (simplified)</tspan></text></g><style>#mermaid-1691701140603{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-1691701140603 .error-icon{fill:#552222;}#mermaid-1691701140603 .error-text{fill:#552222;stroke:#552222;}#mermaid-1691701140603 .edge-thickness-normal{stroke-width:2px;}#mermaid-1691701140603 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-1691701140603 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-1691701140603 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-1691701140603 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-1691701140603 .marker{fill:#333333;stroke:#333333;}#mermaid-1691701140603 .marker.cross{stroke:#333333;}#mermaid-1691701140603 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-1691701140603 .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-1691701140603 text.actor>tspan{fill:black;stroke:none;}#mermaid-1691701140603 .actor-line{stroke:grey;}#mermaid-1691701140603 .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-1691701140603 .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-1691701140603 #arrowhead path{fill:#333;stroke:#333;}#mermaid-1691701140603 .sequenceNumber{fill:white;}#mermaid-1691701140603 #sequencenumber{fill:#333;}#mermaid-1691701140603 #crosshead path{fill:#333;stroke:#333;}#mermaid-1691701140603 .messageText{fill:#333;stroke:none;}#mermaid-1691701140603 .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-1691701140603 .labelText,#mermaid-1691701140603 .labelText>tspan{fill:black;stroke:none;}#mermaid-1691701140603 .loopText,#mermaid-1691701140603 .loopText>tspan{fill:black;stroke:none;}#mermaid-1691701140603 .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-1691701140603 .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-1691701140603 .noteText,#mermaid-1691701140603 .noteText>tspan{fill:black;stroke:none;}#mermaid-1691701140603 .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-1691701140603 .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-1691701140603 .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-1691701140603 .actorPopupMenu{position:absolute;}#mermaid-1691701140603 .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-1691701140603 .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-1691701140603 .actor-man circle,#mermaid-1691701140603 line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-1691701140603 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g/><defs><symbol height="24" width="24" id="computer"><path d="M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z" transform="scale(.5)"/></symbol></defs><defs><symbol clip-rule="evenodd" fill-rule="evenodd" id="database"><path d="M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z" transform="scale(.5)"/></symbol></defs><defs><symbol height="24" width="24" id="clock"><path d="M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z" transform="scale(.5)"/></symbol></defs><g><line stroke="#999" stroke-width="0.5px" class="200" y2="416" x2="80" y1="34" x1="80" id="actor210"/><g id="root-210"><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="29" x="5"/><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="61.5" x="80"><tspan dy="0" x="80">agent</tspan></text></g></g><g><line stroke="#999" stroke-width="0.5px" class="200" y2="416" x2="403" y1="34" x1="403" id="actor211"/><g id="root-211"><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="29" x="328"/><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="61.5" x="403"><tspan dy="0" x="403">zoe</tspan></text></g></g><g><line stroke="#999" stroke-width="0.5px" class="200" y2="416" x2="603" y1="34" x1="603" id="actor212"/><g id="root-212"><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="29" x="528"/><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="61.5" x="603"><tspan dy="0" x="603">contract</tspan></text></g></g><defs><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="9" id="arrowhead"><path d="M 0 0 L 10 5 L 0 10 z"/></marker></defs><defs><marker refY="5" refX="4" orient="auto" markerHeight="8" markerWidth="15" id="crosshead"><path style="stroke-dasharray: 0, 0;" d="M 1,2 L 6,7 M 6,2 L 1,7" stroke-width="1pt" stroke="#000000" fill="none"/></marker></defs><defs><marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="18" id="filled-head"><path d="M 18,7 L9,13 L14,7 L9,1 Z"/></marker></defs><defs><marker orient="auto" markerHeight="40" markerWidth="60" refY="15" refX="15" id="sequencenumber"><circle r="6" cy="15" cx="15"/></marker></defs><g><rect class="activation0" ry="0" rx="0" height="234" width="10" stroke="#666" fill="#EDF2AE" y="142" x="398"/></g><g><rect class="activation0" ry="0" rx="0" height="46" width="10" stroke="#666" fill="#EDF2AE" y="236" x="598"/></g><text style="font-size: 16px; font-weight: 400;" dy="1em" class="messageText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="109" x="242">offer(invitation, {give, want}, pmts)</text><line style="fill: none;" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine0" y2="142" x2="403" y1="142" x1="80"/><text style="font-size: 16px; font-weight: 400;" dy="1em" class="messageText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="157" x="239">userSeat</text><line style="stroke-dasharray: 3, 3; fill: none;" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine1" y2="188" x2="80" y1="188" x1="398"/><text style="font-size: 16px; font-weight: 400;" dy="1em" class="messageText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="203" x="506">{give, want}</text><line style="fill: none;" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine0" y2="234" x2="603" y1="234" x1="408"/><text style="font-size: 16px; font-weight: 400;" dy="1em" class="messageText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="249" x="503">reallocate()</text><line style="stroke-dasharray: 3, 3; fill: none;" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine1" y2="282" x2="408" y1="282" x1="598"/><text style="font-size: 16px; font-weight: 400;" dy="1em" class="messageText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="297" x="239">E(userSeat).getPayouts()</text><line style="fill: none;" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine0" y2="330" x2="398" y1="330" x1="80"/><text style="font-size: 16px; font-weight: 400;" dy="1em" class="messageText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="345" x="239">payout payments</text><line style="stroke-dasharray: 3, 3; fill: none;" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine1" y2="376" x2="80" y1="376" x1="398"/><g><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="396" x="5"/><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="428.5" x="80"><tspan dy="0" x="80">agent</tspan></text></g><g><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="396" x="328"/><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="428.5" x="403"><tspan dy="0" x="403">zoe</tspan></text></g><g><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="396" x="528"/><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="428.5" x="603"><tspan dy="0" x="603">contract</tspan></text></g></svg> \ No newline at end of file diff --git a/main/guides/getting-started/contract-rpc.md b/main/guides/getting-started/contract-rpc.md new file mode 100644 index 000000000..9d4b767f3 --- /dev/null +++ b/main/guides/getting-started/contract-rpc.md @@ -0,0 +1,416 @@ +# Smart Wallet Dapp Architecture + +The [Agoric Platform](../platform/) consists of smart contracts +and services such as [Zoe](../zoe/) running in a [Hardened JavaScript](../js-programming/hardened-js.md) VM running on top of a Cosmos SDK consensus layer. Clients interact with the consensus layer by making +queries and submitting messages in signed transactions. In the Smart +Wallet Architecture, dapps consist of + +- Hardened JavaScript smart contracts +- clients that can submit offers and query status via the consensus layer + +![smart wallet dapp sequence diagram](./assets/sw-dapp-arch.svg) + +1. A client formats an offer, signs it, and broadcasts it. +2. The offer is routed to the `walletFactory` contract, which finds (or creates) the `smartWallet` object associated with the signer's addres and uses it to execute the offer. +3. The `smartWallet` calls `E(zoe).offer(...)` and monitors the status of + the offer, emitting it for clients to query. +4. Zoe escrows the payments and forwards the proposal to the contract + indicated by the offer. +5. The contract tells Zoe how to reallocate assets. +6. Zoe ensures that the reallocations respect offer safety and then provides payouts accordingly. +7. The client's query tells it that the payouts are available. + +## Signing and Broadcasting Offers + +One way to sign and broadcast offers is with the `agd tx ...` command. For example: + +```sh +agd tx swingset wallet-action --allow-spend "$ACTION" \ + --chain-id=agoriclocal --from=acct1 +``` + +<!-- TODO: discuss agoric wallet send? --> + +Another is using a wallet signing UI such as Keplr via the [Keplr API](https://docs.keplr.app/api/). + +Given sufficient care with key management, a [cosmjs SigningStargateClient](https://cosmos.github.io/cosmjs/latest/stargate/classes/SigningStargateClient.html) or any other client that can deliver a [agoric.swingset.MsgWalletSpendAction](https://github.com/Agoric/agoric-sdk/blob/mainnet1B/golang/cosmos/proto/agoric/swingset/msgs.proto#L70) to a +[Cosmos SDK endpoint](https://docs.cosmos.network/main/core/grpc_rest) works. + +```proto +message MsgWalletSpendAction { + bytes owner = 1; + string spend_action = 2; +} +``` + +<!-- TODO: owner field, toAccAddress, base64. working example --> + +## Querying VStorage + +[VStorage](https://github.com/Agoric/agoric-sdk/tree/master/golang/cosmos/x/vstorage#readme) (for "Virtual Storage") is a key-value store that is +read-only for clients of the consensus layer. +From within the JavaScript VM, it is accessed via a `chainStorage` API with a node at each +key that is write-only; a bit like a `console`. + +![vstorage query diagram](./assets/vstorage-brand-q.svg) + +The protobuf definition is [agoric.vstorage.Query](https://github.com/Agoric/agoric-sdk/blob/mainnet1B/golang/cosmos/proto/agoric/vstorage/query.proto#L11): + +```proto +service Query { + // Return an arbitrary vstorage datum. + rpc Data(QueryDataRequest) returns (QueryDataResponse) { + option (google.api.http).get = "/agoric/vstorage/data/{path}"; + } + + // Return the children of a given vstorage path. + rpc Children(QueryChildrenRequest) + returns (QueryChildrenResponse) { + option (google.api.http).get = "/agoric/vstorage/children/{path}"; + } +} +``` + +We can issue queries using, `agd query ...`: + +```sh +$ agd query vstorage children 'published.agoricNames' + +children: +- brand +- installation +- instance +... +``` + +The [Agoric CLI](../agoric-cli/) `follow` command supports vstorage +query plus some of the marshalling conventions discussed below: + +```sh +$ agoric follow -lF :published.agoricNames.brand +[ + [ + "BLD", + slotToVal("board0566","Alleged: BLD brand"), + ], + [ + "IST", + slotToVal("board0257","Alleged: IST brand"), + ], +... +] +``` + +::: tip vstorage viewer by p2p + +The [vstorage-viewer](https://github.com/p2p-org/p2p-agoric-vstorage-viewer) contributed by p2p is often _very_ handy: + +[![vstorage viewer screenshot](https://user-images.githubusercontent.com/150986/259798595-40cd22f0-fa01-43a9-b92a-4f0f4813a4f6.png)](https://p2p-org.github.io/p2p-agoric-vstorage-viewer/#https://devnet.rpc.agoric.net/|published,published.agoricNames|) + +::: + +## Specifying Offers + +Recall that for an agent within the JavaScript VM, +[E(zoe).offer(...)](../../reference/zoe-api/zoe.md#e-zoe-offer-invitation-proposal-paymentkeywordrecord-offerargs) takes an `Invitation` and optionally a `Proposal` with `{ give, want }`, a `PaymentKeywordRecord`, and `offerArgs`; it returns a `UserSeat` from which we can [getPayouts()](../../reference/zoe-api/user-seat.md#e-userseat-getpayouts). + +![Zoe API diagram, simplified](./assets/zoe-simp.svg) + +In the Smart Wallet architecture, a client uses an `OfferSpec` to +tell its `SmartWallet` how to conduct an offer. +It includes an `invitationSpec` to say what invitation to pass to Zoe. For example: + +<<< @/snippets/test-marshal.js#exInvitationSpec + +Here the `SmartWallet` calls `E(zoe).getPublicFacet(instance)` and then +uses the `publicInvitationMaker` and `invitationArgs` to call the contract's +public facet. + +![InvitationSpec sequence diagram](./assets/inv-spec.svg) + +<!-- TODO: SVG diagram in /assets/ --> + +::: tip InvitationSpec Patterns +For more `InvitationSpec` examples, see [How to make an offer from a dapp via the smart wallet? \(InvitationSpec Patterns\) · #8082](https://github.com/Agoric/agoric-sdk/discussions/8082) July 2023 +::: + +The client fills in the proposal, which instructs the `SmartWallet` +to withdraw corresponding payments to send to Zoe. + +<<< @/snippets/test-marshal.js#exBridgeAction + +But recall the `spend_action` field in `MsgWalletSpendAction` is a string. +In fact, the expected string in this case is of the form: + +<<< @/snippets/test-marshal.js#exSpendActionCk + +We recognize `"method":"executeOffer"` and such, but +`body:`, `slots:`, and `$1.Alleged: Gold Brand` need further explanation. + +### Marshalling Amounts and Instances + +::: tip Watch: Office Hours Discussion of Marshal + +- [Office Hours: ... marshalling w/board ids, ... \#8069](https://github.com/Agoric/agoric-sdk/discussions/8069) July 2023 + +::: + +To start with, amounts include `bigint`s. The `@endo/marshal` API handles those: + +<<< @/snippets/test-marshal.js#marshal-json-steroids + +To marshal brands and instances, recall from the discussion of [marshal in eventual send](../js-programming/eventual-send.md#e-and-marshal-a-closer-look) +how remotables are marshalled with a translation table. + +The [Agoric Board](../../reference/repl/board.md) is a well-known name service that issues +plain string identifiers for object identities and other passable _keys_ (that is: passable values excluding promises and errors). +Contracts and other services can use its table of identifiers as a marshal +translation table: + +<<< @/snippets/test-marshal.js#boardMarshal + +To reverse the process, clients can mirror the on-chain board translation +table by synthesizing a remotable for each reference marker received: + +<<< @/snippets/test-marshal.js#makeBoardContext + +Now we can take results of vstorage queries for `Data('published.agoricNames.brand')` and `Data('published.agoricNames.instance')` unmarshal ("ingest") them: + +<<< @/snippets/test-marshal.js#useBoardContext + +And now we have all the pieces of the `BridgeAction` above. +The marshalled form is: + +<<< @/snippets/test-marshal.js#exBridgeActionEq + +We still don't quite have a single string for the `spend_action` field. +We need to `stringify` the `CapData`: + +<<< @/snippets/test-marshal.js#exSpendAction + +And now we have the `spend_action` in the expected form: + +<<< @/snippets/test-marshal.js#exSpendActionCk + +The wallet factory can now `JSON.parse` this string +into `CapData` and unmarshal it using a board marshaller +to convert board ids back into brands, instances, etc. + +## Smart Wallet VStorage Topics + +Each smart wallet has a node under `published.wallet`: + +```sh +$ agd query vstorage children published.wallet +children: +- agoric1h4d3mdvyqhy2vnw2shq4pm5duz5u8wa33jy6cl +- agoric1qx2kqqdk80fdasldzkqu86tg4rhtaufs00na3y +- agoric1rhul0rxa2z829a6xkrvuq8m8wjwekyduv7dzfj +... +``` + +Smart wallet clients should start by getting the **current** state +at `published.${ADDRESS}.current` and then subscribe to **updates** +at `published.${ADDRESS}`. For example, we can use `agoric follow -lF` +to get the latest `.current` record: + +```sh +$ agoric follow -lF :published.wallet.agoric1h4d3mdvyqhy2vnw2shq4pm5duz5u8wa33jy6cl.current +{ + liveOffers: [], + offerToPublicSubscriberPaths: [ + [ + "openVault-1691526589332", + { + vault: "published.vaultFactory.managers.manager0.vaults.vault2", + }, + ], + ], + offerToUsedInvitation: [ + [ + "openVault-1691526589332", + { + brand: slotToVal("board0074","Alleged: Zoe Invitation brand"), + value: [ + { + description: "manager0: MakeVault", + handle: slotToVal(null,"Alleged: InvitationHandle"), + installation: slotToVal("board05815","Alleged: BundleIDInstallation"), + instance: slotToVal("board00360","Alleged: InstanceHandle"), + }, + ], + }, + ], + ], + purses: [ + { + balance: { + brand: slotToVal("board0074"), + value: [], + }, + brand: slotToVal("board0074"), + }, + ], +} +``` + +Then we can use `agoric follow` without any options to +get a stream of updates as they appear. + +```sh +agoric follow :published.wallet.agoric1h4d3mdvyqhy2vnw2shq4pm5duz5u8wa33jy6cl +... +{ + status: { + id: "closeVault-1691526597848", + invitationSpec: { + invitationMakerName: "CloseVault", + previousOffer: "openVault-1691526589332", + source: "continuing", + }, + numWantsSatisfied: 1, + payouts: { + Collateral: { + brand: slotToVal("board05557","Alleged: ATOM brand"), + value: 13000000n, + }, + Minted: { + brand: slotToVal("board0257","Alleged: IST brand"), + value: 215000n, + }, + }, + proposal: { + give: { + Minted: { + brand: slotToVal("board0257"), + value: 5750000n, + }, + }, + want: {}, + }, + result: "your vault is closed, thank you for your business", + }, + updated: "offerStatus", +} +``` + +Note that status updates are emitted at several points in the handling of +each offer: + +- when the `getOfferResult()` promise settles +- when the `numWantsSatisfied()` promise settles +- when the payouts have been deposited. + +And we may get `balance` updates at any time. + +The data published via vstorage are available within the JavaScript VM +via the [getPublicTopics](https://github.com/Agoric/agoric-sdk/blob/mainnet1B/packages/smart-wallet/src/smartWallet.js#L585) API. + +The [CurrentWalletRecord](https://github.com/Agoric/agoric-sdk/blob/mainnet1B/packages/smart-wallet/src/smartWallet.js#L71-L76) type is: + +```ts +{ + purses: Array<{brand: Brand, balance: Amount}>, + offerToUsedInvitation: Array<[ offerId: string, usedInvitation: Amount ]>, + offerToPublicSubscriberPaths: Array<[ offerId: string, publicTopics: { [subscriberName: string]: string } ]>, + liveOffers: Array<[import('./offers.js').OfferId, import('./offers.js').OfferStatus]>, +} +``` + +And [UpdateRecord](https://github.com/Agoric/agoric-sdk/blob/mainnet1B/packages/smart-wallet/src/smartWallet.js#L80-L83) is: + +```ts + { updated: 'offerStatus', status: import('./offers.js').OfferStatus } + | { updated: 'balance'; currentAmount: Amount } + | { updated: 'walletAction'; status: { error: string } } +``` + +Both of those types include [OfferStatus](https://github.com/Agoric/agoric-sdk/blob/mainnet1B/packages/smart-wallet/src/offers.js#L21C14-L26C5) by reference: + +```ts +import('./offers.js').OfferSpec & { + error?: string, + numWantsSatisfied?: number + result?: unknown | typeof UNPUBLISHED_RESULT, + payouts?: AmountKeywordRecord, +} +``` + +## VBank Assets and Cosmos Bank Balances + +Note that balances of assets such as **IST** and **BLD** are already +available via consensus layer queries to the Cosmos SDK [bank module](https://docs.cosmos.network/main/modules/bank). + +```sh +$ agd query bank balances agoric1h4d3mdvyqhy2vnw2shq4pm5duz5u8wa33jy6cl -o json | jq .balances +[ + { + "denom": "ibc/BA313C4A19DFBF943586C0387E6B11286F9E416B4DD27574E6909CABE0E342FA", + "amount": "100000000" + }, + { + "denom": "ubld", + "amount": "10000000" + }, + { + "denom": "uist", + "amount": "215000" + } +] +``` + +They are not published redundantly in vstorage and nor does the +smart wallet emit `balance` updates for them. + +To get the correspondence between certain cosmos denoms (chosen by governance) +and their ERTP brands, issuers, and display info such as `decimalPlaces`, +see `published.agoricNames.vbankAsset`: + +```sh +agoric follow -lF :published.agoricNames.vbankAsset +[ + [ + "ibc/BA313C4A19DFBF943586C0387E6B11286F9E416B4DD27574E6909CABE0E342FA", + { + brand: slotToVal("board05557","Alleged: ATOM brand"), + denom: "ibc/BA313C4A19DFBF943586C0387E6B11286F9E416B4DD27574E6909CABE0E342FA", + displayInfo: { + assetKind: "nat", + decimalPlaces: 6, + }, + issuer: slotToVal("board02656","Alleged: ATOM issuer"), + issuerName: "ATOM", + proposedName: "ATOM", + }, + ], + [ + "ubld", + { + brand: slotToVal("board0566","Alleged: BLD brand"), + denom: "ubld", + displayInfo: { + assetKind: "nat", + decimalPlaces: 6, + }, + issuer: slotToVal("board0592","Alleged: BLD issuer"), + issuerName: "BLD", + proposedName: "Agoric staking token", + }, + ], + [ + "uist", + { + brand: slotToVal("board0257","Alleged: IST brand"), + denom: "uist", + displayInfo: { + assetKind: "nat", + decimalPlaces: 6, + }, + issuer: slotToVal("board0223","Alleged: IST issuer"), + issuerName: "IST", + proposedName: "Agoric stable token", + }, + ], +... +] +``` diff --git a/main/guides/getting-started/start-a-project.md b/main/guides/getting-started/start-a-project.md index e74a248df..644be964d 100644 --- a/main/guides/getting-started/start-a-project.md +++ b/main/guides/getting-started/start-a-project.md @@ -1,10 +1,7 @@ # Starting a Project -Before we begin, you should use `agoric --version` to double-check that you have [installed the Agoric SDK](./README.md). +After you've [installed the Agoric SDK](./README.md) (_recall: use `agoric --version` to confirm._), you're ready for your first _Agoric Dapp_ (decentralized application). -If it is available, then you successfully installed the Agoric SDK. If not, then please do so before continuing. - -After you've [installed the Agoric SDK](./README.md), then you're ready for your first _Agoric Dapp_ (decentralized application) by continuing the instructions below. We'll be running **three terminal windows**. See below: @@ -28,8 +25,8 @@ This presentation includes starting a project, but note an outdated detail: ## Initialize the Default Dapp Template -The following section will explain how to initialize the default Dapp template, install the Agoric SDK -into the Dapp template, and then launch the Agoric Solo Client and Simulated Blockchain. +The following section will explain how to initialize the default Dapp template, and install the Agoric SDK +into the Dapp template. Use the [Agoric CLI](../agoric-cli/) to fetch from a Dapp template and put it in a directory _not located in your `agoric-sdk` clone_. We named the directory "demo", but you can name the folder whatever you like. @@ -41,15 +38,16 @@ cd $HOME agoric init --dapp-template dapp-card-store demo # use `agoric init --dapp-template dapp-card-store $DIRNAME` with any name you like cd demo agoric install community-dev # will take a minute to install all dependencies -agoric start --verbose --reset # `agoric start --reset` to start over ``` Learn more about the [available Dapp templates](../dapps/dapp-templates.md). -::: tip Mac Dev Tools -On a Mac, you must first install -[Xcode](https://apps.apple.com/us/app/xcode/id497799835) -::: +## Start Agoric Solo Client and Simulated Blockchain + +```sh +# Terminal 1 +agoric start --verbose --reset # `agoric start --reset` to start over +``` Leave this process and its logs running in its own terminal window. diff --git a/main/guides/integration/assets/cosmos-api.png b/main/guides/integration/assets/cosmos-api.png new file mode 100644 index 000000000..81521be43 Binary files /dev/null and b/main/guides/integration/assets/cosmos-api.png differ diff --git a/main/guides/integration/chain-integration.md b/main/guides/integration/chain-integration.md new file mode 100644 index 000000000..22920a106 --- /dev/null +++ b/main/guides/integration/chain-integration.md @@ -0,0 +1,50 @@ +# Integrating with Agoric Network + +The Agoric network builds a blockchain for smart contracts in JavaScript using the `cosmos-sdk`. Cosmos-sdk is software that provides the widely-used Tendermint/CometBFT consensus and best-in-class support for chain operations like staking and governance. For simplicity of chain integration, the Agoric Network works identically to the Cosmos Hub, except using different parameters (e.g., `ubld` instead of `uatom`). + + +## TL;DR for Cosmos-experienced + +This section points at relevant reference documentation for the underlying `cosmos-sdk` and CometBFT/Tendermint consensus engine, and summarizes the differences. + +The Agoric Network currently uses `cosmos-sdk` v0.45. The general Cosmos documentation for this version can be [found here](https://docs.cosmos.network/v0.45/), including structure and`golang` documentation, and REST API documentation. + +Use the [v0.45.1 version of the REST API](https://v1.cosmos.network/rpc/v0.45.1) for accessing the chain. To use the "Try it out" functionality, change the Base URL to `agoric-api.polkachu.com`: + + +| ![Alt name of image](./assets/cosmos-api.png) | +|-| + +The chain can also be accessed via JavaScript using the [`cosmjs` library](https://github.com/cosmos/cosmjs) (and [associated tutorials](https://tutorials.cosmos.network/tutorials/7-cosmjs/1-cosmjs-intro.html)), or using [CosmosKit](https://cosmoskit.com/). + +## Chain resources + +- The base network entry points for the Agoric chain are specified in the [network config](https://main.agoric.net/network-config). +- Additional chain information, including tokens and their logos, gas fee information for wallets, additional entry points, and explorers is maintained in the Cosmos [Chain Registry](https://github.com/cosmos/chain-registry/tree/master/agoric). +- The source code for the Agoric Network runtime and contracts is in [the Agoric open source repository](https://github.com/Agoric/agoric-sdk) on GitHub. +- The base unit for staking is `ubld` (corresponding to `uatom` for Cosmos Hub) +- The command utility of the agoric chain is `agd` (corresponding to [`simd` for the Cosmos Hub](https://docs.cosmos.network/v0.45/run-node/interact-node.html)). +--- +# Tools +## Building `agd` + +The `agd` command line tool can be built as described in the Agoric [getting-started documentation](https://docs.agoric.com/guides/getting-started#build-the-cosmic-swingset-package). The linked step builds `agd`. To confirm that `agd` is in your `$PATH`, execute +``` +agd version --long +``` + +# FAQ + +- How are transactions encoded? +https://docs.cosmos.network/v0.45/core/encoding.html +- What data is needed to create a transaction (last block hash, nonce, sender public key, etc.)? +https://docs.cosmos.network/v0.45/core/transactions.html#transaction-generation +- What data is signed and how is that data obtained (for example truncated SHA256 of transaction data)? +https://docs.cosmos.network/v0.45/core/transactions.html#transaction-generation +- Do transactions expire? +Transaction do not expire unless you specify --timeout-height: https://docs.cosmos.network/v0.45/core/transactions.html#transaction-generation +However they do have a sequence number and may be invalidated if another transaction with the same sequence number is processed by the chain +- How are addresses generated? +https://docs.cosmos.network/v0.45/basics/accounts.html +- How is the blockchain queried? +JSON-RPC, gRPC, REST https://docs.cosmos.network/v0.45/run-node/interact-node.html \ No newline at end of file diff --git a/main/guides/js-programming/eventual-send.md b/main/guides/js-programming/eventual-send.md index 2b58b1af6..6ace9cb3c 100644 --- a/main/guides/js-programming/eventual-send.md +++ b/main/guides/js-programming/eventual-send.md @@ -1,8 +1,7 @@ # Eventual Send with E() In web browsers, a common pattern of remote communication is using the -[asynchronous fetch API with promises]( -https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Asynchronous/Introducing#promises): +[asynchronous fetch API with promises](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Asynchronous/Introducing#promises): <<< @/snippets/test-distributed-programming.js#asyncFetch @@ -12,7 +11,7 @@ a [deploy script](../getting-started/deploying.md) may want to use the [Zoe Service API](/reference/zoe-api/zoe.md) to install a contract on a blockchain. But the deploy script cannot call `zoe.install(bundle)`, because it does not have local access to the `zoe` object. However, the deploy -script is given a `zoe` *remote presence*. To call methods on the +script is given a `zoe` _remote presence_. To call methods on the actual Zoe object, the deploy script can do: ```js @@ -32,16 +31,16 @@ use too much compute time or heap space. The smart contracts also run in separat What happens when we call `E(zoe).install(bundle)` is an _eventual send_: - 1. A message consisting of the method name `install` +1. A message consisting of the method name `install` with the `bundle` argument [marshaled](./far.md) to a flat string and queued for delivery to the vat that `zoe` comes from. - 2. `E(zoe).install(bundle)` returns a promise for the result. - 3. The `then` and `catch` methods queue callbacks for when the promise +2. `E(zoe).install(bundle)` returns a promise for the result. +3. The `then` and `catch` methods queue callbacks for when the promise is resolved or rejected. Execution continues until the stack is empty and thus this turn through the event loop completes. - 4. _Eventually_ `zoe` responds, which results in a new message +4. _Eventually_ `zoe` responds, which results in a new message in this vat's message queue and a new turn through the event loop. The message is de-serialized and the results are passed to the relevant callback. @@ -51,9 +50,9 @@ must be _asynchronous_. The `E()` wrapper works with: - - Remote presences (local proxies for objects in remote vats). - - Local objects (in the same vat). - - Promises for remote presences or local objects. +- Remote presences (local proxies for objects in remote vats). +- Local objects (in the same vat). +- Promises for remote presences or local objects. In all cases, `E(x).method(...args)` returns a promise. @@ -68,13 +67,61 @@ round trip suffices for both method calls. The `E()` function creates a forwarder that doesn't know what methods the remote object has. If you misspell or incorrectly capitalize the method name, -the local environment can't tell you've done so. You'll only find out at runtime when the +the local environment can't tell you've done so. You'll only find out at runtime when the remote object complains that it doesn't know that method. If an ordinary synchronous call (`obj.method()`) fails because the method doesn't exist, the `obj` may be remote, in which case `E(obj).method()` might work. ::: +## E() and Marshal: A Closer Look + +::: tip Watch: Office Hours Discussion of Marshal + +- [Office Hours: ... marshalling w/board ids, ... \#8069](https://github.com/Agoric/agoric-sdk/discussions/8069) July 2023 + +::: + +If you just want to use the SDK to write smart contracts, **feel +free to skip this section**. But in case you're working +on something that requires more detailed understanding, +let's take a look at how `E(x).method(...args)` is marshalled. + +In [@endo/marshal](https://github.com/endojs/endo/tree/master/packages/marshal#readme) docs, we see: + +> The `marshal` module helps with conversion of "capability-bearing data", in +> which some portion of the structured input represents "pass-by-proxy" or +> "pass-by-presence" objects that should be serialized into values referencing +> special "slot identifiers". The `toCapData()` function returns a "CapData" +> structure: an object with a `body` containing a serialization of the input data, +> and a `slots` array holding the slot identifiers. `fromCapData()` takes this +> CapData structure and returns the object graph. There is no generic way to +> convert between pass-by-presence objects and slot identifiers, so the marshaller +> is parameterized with a pair of functions to create the slot identifiers and turn +> them back into proxies/presences. + +For example, we can marshal a remotable counter using the slot identifier `c1`: + +<<< @/snippets/test-marshal.js#marshal-remotable + +Each end of a connection between vats typically keeps +a table to translate slots to capabilities and back: + +<<< @/snippets/test-marshal.js#marshal-table + +Each call to `E(rx)` makes a proxy for the reciver `rx`; +each `E(rx).p` property reference invokes the `get` proxy trap. +From the `get` trap, `E` returns a function that queues +`rx`, `p`, and its arguments (in marshalled form) and returns a promise: + +<<< @/snippets/test-marshal.js#marshal-messages-e + +Now we can see the result in some detail. Note the way the promise from +`E(zoe).install()` is passed to `E(zoe).startInstance()`. + +<<< @/snippets/test-marshal.js#marshal-messages + ::: tip Watch: How Agoric Solves Reentrancy Hazards (November 2020) for more on eventual send and remote communication + <iframe width="560" height="315" src="https://www.youtube.com/embed/38oTyVv_D9I" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> ::: diff --git a/main/guides/js-programming/far.md b/main/guides/js-programming/far.md index 916d75ea8..39d3cb813 100644 --- a/main/guides/js-programming/far.md +++ b/main/guides/js-programming/far.md @@ -1,33 +1,38 @@ - # Far(), Remotable, and Marshaling -To export objects such as from the [Example Secure JavaScript Code](./hardened-js.md#example-hardened-javascript-code) -to make them available to other vats, mark them as _remotable_ using [Far](#far-api): +Let's look more closely at an [eventual send](./eventual-send.md) between vats: + +![counter remote presence](../assets/remote-presence-fig.svg) + +In the exporting vat, we'll take the `makeCounter` [Hardened JavaScript example](./hardened-js.md#example-hardened-javascript-code) and refine it to make _remotable_ counters +by marking them with [Far](#far-api): -<<< @/snippets/test-distributed-programming.js#importFar <<< @/snippets/test-distributed-programming.js#makeFarCounter ## Marshaling by Copy or by Presence Recall that the first step in an [eventual send](./eventual-send.md#eventual-send) is -to _marshal_ the method name and arguments (i.e., to make them into a single string). -This is like [JSON.stringify](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify), but it can handle values such as `undefined` and `BigInt`s. -Also, while many forms of data are copied between vats, -remotables are marshalled so that they become remote _presences_ when unmarshaled: +to _marshal_ the method name and arguments. [Marshalling](https://en.wikipedia.org/wiki/Marshalling_%28computer_science%29) is transforming a data structure into a format suitable for storage or transmission. +The [@endo/marshal](https://github.com/endojs/endo/tree/master/packages/marshal#readme) package uses [JSON](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON), but it can handle +Javascript values that cannot be expressed directly as JSON, +such as `undefined` and `BigInt`s. -![counter remote presence](../assets/remote-presence-fig.svg) +<<< @/snippets/test-marshal.js#marshal-json-steroids +Also, while many forms of data are copied between vats, +remotables are marshalled so that they become remote _presences_ when unmarshaled. Another vat can then make and use the exported counters: <<< @/snippets/test-distributed-programming.js#useFarCounter ## Pass Styles and harden -Calls to remote presences must only contain *passable* arguments and return *passable* results. +Calls to remote presences must only contain _passable_ arguments and return _passable_ results. There are three kinds of passables: - * Remotables: objects with methods that can be called using `E()` eventual send notation. - * Pass-by-copy data, such as numbers or hardened structures. - * Promises for passables. + +- Remotables: objects with methods that can be called using `E()` eventual send notation. +- Pass-by-copy data, such as numbers or hardened structures. +- Promises for passables. Every object exported from a smart contract, such as `publicFacet` or `creatorFacet`, must be passable. All objects used in your contract's external API must @@ -47,39 +52,47 @@ is `20n` in the local vat but `10n` in the remote vat. (Worse: the remote vat might be the same as the local vat.) Requiring `harden()` for pass-by-copy data leads to behavior across vats that is straightforward to reason about. -### passStyleOf API +## passStyleOf API + +<<< @/snippets/test-distributed-programming.js#import-pass-style `passStyleOf(passable)` - - `passable` `{Passable}` - - Returns: `{PassStyle}` + +- `passable` `{Passable}` +- Returns: `{PassStyle}` A Passable is a hardened value that may be marshalled. It is classified as one of the following `PassStyle` values: - * Atomic pass-by-copy primitives (`"undefined" | "null" | - "boolean" | "number" | "bigint" | "string" | "symbol"`). - * Pass-by-copy containers that contain other Passables (`"copyArray" | "copyRecord"`). - * Special cases, which also contain other Passables (`"error"`). - * So-called `PassableCap` leafs (`"remotable" | "promise"`). + +- Atomic pass-by-copy primitives (`"undefined" | "null" | "boolean" | "number" | "bigint" | "string" | "symbol"`). +- Pass-by-copy containers that contain other Passables (`"copyArray" | "copyRecord"`). +- Special cases, which also contain other Passables (`"error"`). +- So-called `PassableCap` leafs (`"remotable" | "promise"`). ::: tip Check `passStyleOf` when handling untrusted structured data Just as you would use `typeof` to check that an argument is a string or number, use `passStyleOf` when you expect, say, a `copyRecord`; this prevents malicious clients from playing tricks with cyclic data etc. ::: + ## Far() API +<<< @/snippets/test-distributed-programming.js#importFar + `Far(farName, object-with-methods)` + - `farName` `{ String }` -- `object-with-methods` ` { Object }` `[remotable={}]` -- Returns: A `Remotable` object. +- `object-with-methods` `{ Object }` `[remotable={}]` +- Returns: A `Remotable` object. -The `farName` parameter gives the `Remotable` an *interface name* for debugging purposes, which only shows -up when logged through the `console`, for example with `console.log`. +The `farName` parameter gives the `Remotable` an _interface name_ for debugging purposes, which only shows +up when logged through the `console`, for example with `console.log`. -The `object-with-methods` parameter should be an object whose properties are the functions serving +The `object-with-methods` parameter should be an object whose properties are the functions serving as the object's methods. The `Far()` function marks an object as remotable. `Far()` also: + - Hardens the object. - Checks that all property values are functions and throws an error otherwise. - Accessors (i.e., `get()` and `set()`) are not allowed. diff --git a/main/guides/js-programming/hardened-js.md b/main/guides/js-programming/hardened-js.md index de617d7d9..b8dce5b31 100644 --- a/main/guides/js-programming/hardened-js.md +++ b/main/guides/js-programming/hardened-js.md @@ -254,11 +254,13 @@ calls for limiting globals to immutable data and deterministic functions (eliminating "ambient authority" in the diagram above). Hardened JavaScript includes a `Compartment` API for enforcing OCap discipline. -Only the [standard, built-in objects](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects) -such as `Object`, `Array`, and `Promise` are globally available by default -(with an option for carefully controlled exceptions such as `console.log`). -With the default `Compartment` options, the non-deterministic `Math.random` -is not available and `Date.now()` always returns `NaN`. +Only the [standard, built-in +objects](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects) +such as `Object`, `Array`, and `Promise` are globally available by default (with +an option for carefully controlled exceptions such as `console.log`). With the +default `Compartment` options, the non-deterministic `Math.random` and +`Date.now()` are not available. (Earlier versions of Hardened JavaScript +provided `Compartment` with a `Date.now()` that always returned `NaN`.) Almost all existing JS code was written to run under Node.js or inside a browser, so it's easy to conflate the environment features with JavaScript itself. For diff --git a/main/guides/zoe/actual-contracts/README.md b/main/guides/zoe/actual-contracts/README.md index 5c4ee2894..27474b48a 100644 --- a/main/guides/zoe/actual-contracts/README.md +++ b/main/guides/zoe/actual-contracts/README.md @@ -2,9 +2,21 @@ <Zoe-Version/> -The following Zoe contracts are automatically deployed on-chain: - +In the [mainnet-1B release of agoric-sdk](https://github.com/Agoric/agoric-sdk/releases/tag/mainnet1B-rc3), the chain is configured to automatically deploy the following Zoe contracts. A [community post on Inter Protocol Vaults Contract Implementations](https://community.agoric.com/t/inter-protocol-vaults-contract-implementations/261) has a high level description. | Contract | Description | | --- | --- | +| centralSupply | used to initialize the vbank IST purse balance based on supply reported from the cosmos x/bank module | +| mintHolder | use to hold mints for BLD as well as inter-chain assets such as ATOM, USDC, and USDT | +| committee | represents the Economic Committee that governs Inter Protocol parameters | +| binaryVoteCounter | instantiated once for each question that a committee votes on | +| econCommitteeCharter | controls what questions can be put to the economic committee | +| contractGovernor | each governed contract is started by starting its governor | | [PSM](./PSM.md) | The Parity Stability Module (PSM) supports efficiently minting and burning Inter Stable Tokens (ISTs) in exchange for approved external stable tokens. | +| vaultFactory| allows users to mint IST backed by collateral such as ATOM; hands off vaults to auctioneer when value of collateral in a vault falls below a governed threshold | +| auctioneer | auctions collateral from liquidated vaults | +| fluxAggregator | aggregates prices from oracle oeprators | +| scaledPriceAuthoriy | provides prices for tradeable assets such as ATOM in terms of idealized "oracle ATOM" prices from oracle operators | +| feeDistributor | collects fees from Inter Protocol contracts and distributes to reserve and/or stakers | +| assetReserve | holds assets in reserve to back IST | +| walletFactory | executes Zoe offers on behalf of users | diff --git a/main/reference/zoe-api/zoe-data-types.md b/main/reference/zoe-api/zoe-data-types.md index e6f93f2f1..80308ab16 100644 --- a/main/reference/zoe-api/zoe-data-types.md +++ b/main/reference/zoe-api/zoe-data-types.md @@ -83,7 +83,10 @@ is exclusively yours and no one else has access to it. ## Keyword -An ASCII identifier string that must begin with an upper case letter. +An ASCII identifier string that must begin with an upper case letter +in order to avoid collisions with JavaScript properties such as `toString`. +(For more detail, see [Why do Zoe keywords have to start with a capital letter? #8241](https://github.com/Agoric/agoric-sdk/discussions/8241).) +`NaN` and `Infinity` are also not allowed as keywords. ## MutableQuote @@ -161,4 +164,4 @@ can be created using the helper functions Of course, as with any JavaScript datatype, you can also manually create **TransferParts**. If you manually create a **TransferPart** and don't include the *fromSeat*, *toSeat*, and/or *fromAmounts* fields, you'll need to set the missing fields to **undefined**. (Note that if you don't -include the *toAmounts* field, there's no need to set it to **undefined**; you can simply omit it.) \ No newline at end of file +include the *toAmounts* field, there's no need to set it to **undefined**; you can simply omit it.) diff --git a/package.json b/package.json index b9b4f637e..311a1738f 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,10 @@ "homepage": "https://github.com/Agoric/documentation#readme", "dependencies": { "@agoric/zoe": "beta", - "@endo/marshal": "^0.6.3", + "@endo/far": "^0.2.19", + "@endo/marshal": "^0.8.6", + "@endo/patterns": "^0.2.3", + "@endo/pass-style": "^0.1.6", "typescript": "^4.0.3" }, "devDependencies": { @@ -46,6 +49,7 @@ "@agoric/ertp": "beta", "@agoric/notifier": "beta", "@agoric/solo": "beta", + "@agoric/vats": "beta", "@endo/bundle-source": "^2.1.1", "@endo/eventual-send": "^0.14.8", "@endo/init": "^0.5.43", @@ -62,7 +66,7 @@ "eslint-plugin-prettier": "^3.4.0", "import-meta-resolve": "^1.1.1", "prettier": "^1.19.1", - "ses": "^0.16.0", + "ses": "^0.16.1", "vuepress": "^1.8.2", "vuepress-plugin-check-md": "0.0.2" }, diff --git a/snippets/test-distributed-programming.js b/snippets/test-distributed-programming.js index 4a6f8ab2e..a14d10823 100644 --- a/snippets/test-distributed-programming.js +++ b/snippets/test-distributed-programming.js @@ -4,8 +4,11 @@ import { test } from './prepare-test-env-ava.js'; import { E } from '@endo/eventual-send'; // #region importFar -import { Far, passStyleOf } from '@endo/marshal'; +import { Far } from '@endo/far'; // #endregion importFar +// #region import-pass-style +import { passStyleOf } from '@endo/pass-style'; +// #endregion import-pass-style test('remote counter', async t => { const assert = cond => t.true(cond); diff --git a/snippets/test-hardened-js.js b/snippets/test-hardened-js.js index dbbf1359f..d7162be77 100644 --- a/snippets/test-hardened-js.js +++ b/snippets/test-hardened-js.js @@ -57,9 +57,15 @@ test('assign to frozen property fails', t => { ); }); -test('Date.now() always returns NaN', t => { +test('Date.now() is not available or returns NaN', t => { const c1 = new Compartment(); - t.is(c1.evaluate(`Date.now()`), NaN); + try { + t.is(c1.evaluate(`Date.now()`), NaN, 'legacy Date.now() is NaN'); + } catch (e) { + // New API: throws instead of NaN. + t.throws(() => c1.evaluate(`Date.now()`), { message: /^secure mode\b/ }); + t.throws(() => c1.evaluate(`new Date()`), { message: /^secure mode\b/ }); + } }); test('Math.random is not available', t => { diff --git a/snippets/test-marshal.js b/snippets/test-marshal.js new file mode 100644 index 000000000..15657e79b --- /dev/null +++ b/snippets/test-marshal.js @@ -0,0 +1,486 @@ +// @ts-check +/* eslint-disable import/order -- https://github.com/endojs/endo/issues/1235 */ +import { test } from './prepare-test-env-ava.js'; + +import { E, Far } from '@endo/far'; +import { passStyleOf } from '@endo/pass-style'; +import { makeCopyBag } from '@endo/patterns'; + +import { makeFakeBoard } from '@agoric/vats/tools/board-utils.js'; + +// #region marshal-import +import { makeMarshal } from '@endo/marshal'; +import { AmountMath } from '@agoric/ertp'; + +/** @type {import('@endo/marshal').MakeMarshalOptions} */ +const smallCaps = { serializeBodyFormat: 'smallcaps' }; +// #endregion marshal-import + +const { Fail } = assert; + +test.serial('marshal.toCapData is like JSON.stringify on steroids', async t => { + // #region marshal-json-steroids + const m = makeMarshal(undefined, undefined, smallCaps); + + const stuff = harden([1, 2, 3n, undefined, NaN]); + const capData = m.toCapData(stuff); + t.deepEqual(m.fromCapData(capData), stuff); + // #endregion marshal-json-steroids + t.deepEqual(capData, { + body: '#[1,2,"+3","#undefined","#NaN"]', + slots: [], + }); + + t.deepEqual( + capData.body.replace(/^#/, ''), + JSON.stringify([1, 2, '+3', '#undefined', '#NaN']), + ); + + t.log(capData.body); +}); + +/** + * "The marshal module helps with conversion of "capability-bearing data", + * in which some portion of the structured input represents + * "pass-by-proxy" or "pass-by-presence" objects. + * These should be serialized into markers that + * refer to special "reference identifiers". + * These identifiers are collected in an array, + * and the serialize() function returns a two-element structure + * known as "CapData": a body that contains the usual string, + * and a new slots array that holds the reference identifiers. + * unserialize() takes this CapData structure and + * returns the object graph. + * The marshaller must be taught (with a pair of callbacks) + * how to create the presence markers, + * and how to turn these markers back into proxies/presences." + * -- https://github.com/endojs/endo/tree/master/packages/marshal#readme + */ +test.serial( + 'remotables are passed between vats using reference identifiers', + async t => { + // #region marshal-remotable + const makeCounter = () => { + let count = 0; + return Far('counter', { + incr: () => (count += 1), + decr: () => (count -= 1), + }); + }; + + const counter1 = makeCounter(); + t.is(passStyleOf(counter1), 'remotable'); + + const valToSlot = new Map([[counter1, 'c1']]); + const slotToVal = new Map([['c1', counter1]]); + const convertValToSlot = v => valToSlot.get(v); + const convertSlotToVal = (slot, _iface) => slotToVal.get(slot); + const m = makeMarshal(convertValToSlot, convertSlotToVal, smallCaps); + + const capData = m.toCapData(counter1); + t.deepEqual(capData, { + body: '#"$0.Alleged: counter"', + slots: ['c1'], + }); + t.deepEqual(m.fromCapData(capData), counter1); + // #endregion marshal-remotable + t.log(capData); + }, +); + +// #region marshal-table +const makeSlot1 = (val, serial) => { + const prefix = Promise.resolve(val) === val ? 'promise' : 'object'; + return `${prefix}${serial}`; +}; + +const makeTranslationTable = (makeSlot, makeVal) => { + const valToSlot = new Map(); + const slotToVal = new Map(); + + const convertValToSlot = val => { + if (valToSlot.has(val)) return valToSlot.get(val); + const slot = makeSlot(val, valToSlot.size); + valToSlot.set(val, slot); + slotToVal.set(slot, val); + return slot; + }; + + const convertSlotToVal = (slot, iface) => { + if (slotToVal.has(slot)) return slotToVal.get(slot); + if (makeVal) { + const val = makeVal(slot, iface); + valToSlot.set(val, slot); + slotToVal.set(slot, val); + return val; + } + throw Error(`no such ${iface}: ${slot}`); + }; + + return harden({ convertValToSlot, convertSlotToVal }); +}; +// #endregion marshal-table + +/** + * Marshal is an important part of [how eventual send works][1]. + * + * "What happens when we call `E(zoe).install(bundle)` is an _eventual send_: + * 1. A message consisting of the method name `install` + * with the `bundle` argument is marshaled..." + * + * [1]: https://docs.agoric.com/guides/js-programming/eventual-send.html#eventual-send + */ +test.serial( + 'marshal messages from E(zoe).install(), E(zoe).startInstance()', + async t => { + // #region marshal-messages-e + const { convertValToSlot, convertSlotToVal } = makeTranslationTable( + makeSlot1, + ); + const m = makeMarshal(convertValToSlot, convertSlotToVal, smallCaps); + + const outgoingMessageQueue = []; + // E work-alike for illustration + const E2 = obj => + new Proxy(obj, { + get: (target, method) => (...args) => { + const msg = harden([target, [method, args]]); + outgoingMessageQueue.push(m.toCapData(msg)); + return new Promise(_resolve => {}); + }, + }); + // #endregion marshal-messages-e + + // #region marshal-messages + const zoe = Far('ZoeService', {}); + const bundle = { bundleFormat: 'xyz' }; + const installationP = E2(zoe).install(bundle); + const startP = E2(zoe).startInstance(installationP); + harden(startP); // suppress usage lint + t.deepEqual(outgoingMessageQueue, [ + { + body: + '#["$0.Alleged: ZoeService",["install",[{"bundleFormat":"xyz"}]]]', + slots: ['object0'], + }, + { + body: '#["$0.Alleged: ZoeService",["startInstance",["&1"]]]', + slots: ['object0', 'promise1'], + }, + ]); + // #endregion marshal-messages + t.log(outgoingMessageQueue[1]); + }, +); + +/** @typedef {import('@endo/pass-style').Remotable} Brand */ + +/** + * The Agoric Board is a well-known name service that issues + * plain string identifiers for object identities. + * + * The board supports using its table of identifiers as a marshal + * translation table. (Promises and Errors are not supported. Only + * passable _keys_.) + * + * Data published to vstorage is typically marshalled using a board marshaler. + */ +test.serial( + 'game "contract" publishes data using board translation table', + async t => { + const vstorage = new Map(); + const makeVstorageNode = key => { + return harden({ + setValue: val => vstorage.set(key, val), + makeChildNode: name => makeVstorageNode(`${key}.${name}`), + }); + }; + + // NOTE: this test mock passes {body, slots} to .setValue() + // The real vstorage .setValue() only takes a string. + // So currently, we JSON.stringify({body, slots}) again. + /** + * @param {StorageNode} parent + * @param {string} name + * @param {Marshaller} m + */ + const makeRecorder = (parent, name, m) => { + const node = parent.makeChildNode(name); + return harden({ + write: async val => node.setValue(await E(m).toCapData(val)), + }); + }; + + const theBoard = makeFakeBoard(); + + const asset = { + gold: { brand: Far('Gold Brand', {}) }, + victory: { brand: Far('Victory Brand', {}) }, + }; + + // #region boardMarshal + /** @type {Record<string, Brand>} */ + const brands = { + gold: asset.gold.brand, + victory: asset.victory.brand, + }; + + // explicitly register brand using the board API + const victoryBrandBoardId = await E(theBoard).getId(brands.victory); + t.is(victoryBrandBoardId, 'board0371'); + + // When the publishing marshaler needs a reference marker for something + // such as the gold brand, it issues a new board id. + const pubm = E(theBoard).getPublishingMarshaller(); + const brandData = await E(pubm).toCapData(brands); + t.deepEqual(brandData, { + body: `#${JSON.stringify({ + gold: '$0.Alleged: Gold Brand', + victory: '$1.Alleged: Victory Brand', + })}`, + slots: ['board0592', 'board0371'], + }); + // #endregion boardMarshal + + const contract1 = async (node, rom) => { + const treasure = Far('Treasure', {}); + + const { add, make } = AmountMath; + const mkSemi = (brand, entries) => make(brand, makeCopyBag(entries)); + let victories = mkSemi(brands.victory, []); + + // Use the read-only marshaler to avoid publishing sensitive things such as treasure. + const statusTopic = makeRecorder(node, 'status', rom); + await statusTopic.write({ victories }); + + let rng = 5; + const doBattle = async enemy => { + await null; + rng = (rng * rng) % 7; + if (rng > 3) { + victories = add(victories, mkSemi(brands.victory, [[enemy, 1n]])); + // oops! we didn't mean to publish treasure! + await statusTopic.write({ treasure, victories }); + } + }; + + return harden({ publicFacet: { doBattle } }); + }; + + // The board provides a read-only marshaler to avoid accidentally publishing + // sensitive things. + const rom = E(theBoard).getReadonlyMarshaller(); + + const node1 = makeVstorageNode('player1'); + const game1 = await contract1(node1, rom); + await E(game1.publicFacet).doBattle('troll'); + await E(game1.publicFacet).doBattle('witch'); + await E(game1.publicFacet).doBattle('giant'); + await E(game1.publicFacet).doBattle('troll'); + await E(game1.publicFacet).doBattle('giant'); + + t.log(vstorage.get('player1.status')); + + t.deepEqual( + [...vstorage.entries()], + [ + [ + 'player1.status', + { + body: `#${JSON.stringify({ + treasure: '$0.Alleged: Treasure', + victories: { + brand: '$1.Alleged: Victory Brand', + value: { + '#tag': 'copyBag', + payload: [ + ['troll', '+1'], + ['giant', '+2'], + ], + }, + }, + })}`, + // Note the read-only marshaler emits a `null` slot + // for unpublished remotables. + slots: [null, 'board0371'], + }, + ], + ], + ); + }, +); + +/** + * Off-chain clients can mirror the on-chain board translation table + * by synthesizing a remotable for each reference marker received. + */ +// #region makeBoardContext +const makeBoardContext = () => { + const synthesizeRemotable = (_slot, iface) => + Far(iface.replace(/^Alleged: /, ''), {}); + + const { convertValToSlot, convertSlotToVal } = makeTranslationTable( + slot => Fail`unknown id: ${slot}`, + synthesizeRemotable, + ); + const marshaller = makeMarshal(convertValToSlot, convertSlotToVal, smallCaps); + + /** Read-only board work-alike. */ + const board = harden({ + getId: convertValToSlot, + getValue: convertSlotToVal, + }); + + return harden({ + board, + marshaller, + /** + * Unmarshall capData, synthesizing a Remotable for each boardID slot. + * + * @type {(cd: import("@endo/marshal").CapData<string>) => unknown } + */ + ingest: marshaller.fromCapData, + }); +}; +// #endregion makeBoardContext + +test.serial('ingest data from vstorage', async t => { + // From vstorage, we might get brand info such as: + const brandData = { + body: `#${JSON.stringify({ + gold: '$0.Alleged: Gold Brand', + victory: '$1.Alleged: Victory Brand', + })}`, + slots: ['board0592', 'board0371'], + }; + + // We can unmarshal it, using a translation table that we keep around: + const clientContext = makeBoardContext(); + const brands = clientContext.ingest(brandData); + + // The values of the object will be fresh object identities, + // but we know what the keys look like. + t.deepEqual(Object.keys(brands), ['gold', 'victory']); + + // The we might get player status: + const playerStatus = { + body: `#${JSON.stringify({ + treasure: '$0.Alleged: Treasure', + victories: { + brand: '$1.Alleged: Victory Brand', + value: { + '#tag': 'copyBag', + payload: [ + ['troll', '+1'], + ['giant', '+2'], + ], + }, + }, + })}`, + // Note the read-only marshaler emits a `null` slot + // for unpublished remotables. + slots: [null, 'board0371'], + }; + + // We don't get a stable object identity for the treasure, + // but let's look at the rest: + const { treasure: _null, ...rest } = clientContext.ingest(playerStatus); + t.log(rest); + + // Now we can treat the unmarshalled data as ordinary passable data, + // including object identities such as brands.victory: + t.deepEqual(rest, { + victories: { + brand: brands.victory, + value: makeCopyBag([ + ['troll', 1n], + ['giant', 2n], + ]), + }, + }); +}); + +test.serial('assemble an offer spend action', async t => { + const instanceQueryResult = { + body: `#${JSON.stringify({ + game1: '$0.Alleged: Instance', + })}`, + slots: ['board123'], + }; + // #region useBoardContext + const clientContext = makeBoardContext(); + + const brandQueryResult = { + body: `#${JSON.stringify({ + gold: '$1.Alleged: Gold Brand', + victory: '$0.Alleged: Victory Brand', + })}`, + slots: ['board0371', 'board32342'], + }; + const brands = clientContext.ingest(brandQueryResult); + const { game1: instance } = clientContext.ingest(instanceQueryResult); + // #endregion useBoardContext + + t.log('reference info from vstorage', { instance, brands }); + + // #region exInvitationSpec + /** @type {import('@agoric/smart-wallet').InvitationSpec} */ + const invitationSpec = { + source: 'contract', + instance, + publicInvitationMaker: 'makeBattleInvitation', + invitationArgs: ['troll'], + }; + // #endregion exInvitationSpec + + // #region exBridgeAction + /** @type {import('@agoric/smart-wallet').BridgeAction} */ + const action = harden({ + method: 'executeOffer', + offer: { + id: 'battle7651', + invitationSpec, + proposal: { + give: { Gold: AmountMath.make(brands.gold, 100n) }, + }, + }, + }); + // #endregion exBridgeAction + + // #region exBridgeActionEq + t.deepEqual(clientContext.marshaller.toCapData(action), { + body: `#${JSON.stringify({ + method: 'executeOffer', + offer: { + id: 'battle7651', + invitationSpec: { + instance: '$0.Alleged: Instance', + invitationArgs: ['troll'], + publicInvitationMaker: 'makeBattleInvitation', + source: 'contract', + }, + proposal: { + give: { + Gold: { brand: '$1.Alleged: Gold Brand', value: '+100' }, + }, + }, + }, + })}`, + slots: ['board123', 'board32342'], + }); + // #endregion exBridgeActionEq + t.log(action.offer); + + // #region exSpendAction + const spendAction = JSON.stringify( + clientContext.marshaller.toCapData(action), + ); + // #endregion exSpendAction + + // #region exSpendActionCk + t.regex(spendAction, /^{"body":"#.*","slots":\["board123","board32342"\]}$/); + const goldStuff = + '\\"brand\\":\\"$1.Alleged: Gold Brand\\",\\"value\\":\\"+100\\"'; + t.true(spendAction.includes(goldStuff)); + // #endregion exSpendActionCk +}); diff --git a/yarn.lock b/yarn.lock index ec5eadaf7..83e58369f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,11 +10,35 @@ "@agoric/assert" "^0.3.15" n-readlines "^1.0.0" +"@agoric/access-token@^0.4.21": + version "0.4.21" + resolved "https://registry.yarnpkg.com/@agoric/access-token/-/access-token-0.4.21.tgz#508101390377b05301d2c1657790a4ad8dc499e9" + integrity sha512-wnsH3K7psw+kHCNf5vSYdBpz2uqLVnLxBsEtq5mnCrTc8pO5O/653x1mGM02k6QNi02K9QjFnWsdCgXPaRgEuQ== + dependencies: + "@agoric/assert" "^0.6.0" + n-readlines "^1.0.0" + tmp "^0.2.1" + "@agoric/assert@^0.3.15", "@agoric/assert@beta": version "0.3.15" resolved "https://registry.yarnpkg.com/@agoric/assert/-/assert-0.3.15.tgz#149d120790b76bb79ca9a02f265d8e7a8a904a87" integrity sha512-6Kb0mtRoAd3O3VwnEXnGpy+ldqD+nB4OSZdgfKZkGn+apN9nLQP4OStEZKeG+jWsgBIzpNE61LrXv6HnBMCX+Q== +"@agoric/assert@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@agoric/assert/-/assert-0.4.0.tgz#144b0c93290bec2fb2c87da37d755d0e7d1a256e" + integrity sha512-KVAuDJPZ5B49S8LUGFgbsFEbr8KhR0REiqvxRUrlAJB1CVLbsIF/ywnz6XG1Bf8FSdFdxKtvlv8sK1aeM1B0jw== + +"@agoric/assert@^0.5.1": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@agoric/assert/-/assert-0.5.1.tgz#f118129c3d091108528dec08a31f5f65c26de0c6" + integrity sha512-1BOAJ9rMgZejm3s/LEd5CDzSdTeF5TCV+5xZctjfkVsbmGpZ/+B0ip1COYGZQ+XrVnkJuux60L3Ux9LwPIZgRg== + +"@agoric/assert@^0.6.0": + version "0.6.0" + resolved "https://registry.yarnpkg.com/@agoric/assert/-/assert-0.6.0.tgz#43ede53cf0943f3e9038f597f776e52500446e41" + integrity sha512-bpY9ul5egbVlmdf9RtDfxh1WQaDSOCzqcAxyqE771rbkv+QYs46oZc4oUVHi7wt3g5LVXj/JsKgLkJEKpEl1BA== + "@agoric/babel-generator@^7.17.4", "@agoric/babel-generator@^7.17.6": version "7.17.6" resolved "https://registry.yarnpkg.com/@agoric/babel-generator/-/babel-generator-7.17.6.tgz#75ff4629468a481d670b4154bcfade11af6de674" @@ -46,6 +70,18 @@ rollup "^2.47.0" source-map "^0.7.3" +"@agoric/cache@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@agoric/cache/-/cache-0.3.2.tgz#19c3576b72084c3b2409fa4b2fd8f534531c0788" + integrity sha512-cFLMiY9OI2Xp7aOAlAmZF/4H6rwaxhtzCfOJ8UiMIKE+4JXkhMLO2FtvGBUWFw40/Q9JsWRWziPs7otuFVQ6Ng== + dependencies: + "@agoric/internal" "^0.3.2" + "@agoric/notifier" "^0.6.2" + "@agoric/store" "^0.9.2" + "@agoric/vat-data" "^0.5.2" + "@endo/far" "^0.2.18" + "@endo/marshal" "^0.8.5" + "@agoric/captp@^1.10.8": version "1.10.8" resolved "https://registry.yarnpkg.com/@agoric/captp/-/captp-1.10.8.tgz#c823f4edbe4c3acd80b6cfd87dbb42a5bf463138" @@ -57,6 +93,33 @@ "@agoric/nat" "^4.1.0" "@agoric/promise-kit" "^0.2.29" +"@agoric/casting@^0.4.2": + version "0.4.2" + resolved "https://registry.yarnpkg.com/@agoric/casting/-/casting-0.4.2.tgz#2d89cd3fcb312ed56ba67ca3e301dc043ff224d5" + integrity sha512-TiCG7hIg9Wp8Ud0PF7XSrTlqQWdczDac7QdSUWuBDodrlk3qw/5Ktcb5BoD0vFyARNZsB9PZq0cBRNYtjHj/Bg== + dependencies: + "@agoric/internal" "^0.3.2" + "@agoric/notifier" "^0.6.2" + "@agoric/spawner" "^0.6.8" + "@agoric/store" "^0.9.2" + "@cosmjs/encoding" "^0.30.1" + "@cosmjs/proto-signing" "^0.30.1" + "@cosmjs/stargate" "^0.30.1" + "@cosmjs/tendermint-rpc" "^0.30.1" + "@endo/far" "^0.2.18" + "@endo/init" "^0.5.56" + "@endo/lockdown" "^0.1.28" + "@endo/marshal" "^0.8.5" + "@endo/promise-kit" "^0.2.56" + node-fetch "^2.6.0" + +"@agoric/cosmic-proto@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@agoric/cosmic-proto/-/cosmic-proto-0.3.0.tgz#c9d31d3946c91fbb1630f89d8ba63a662bcdacc5" + integrity sha512-cIunby6gs53sGkHx3ALraREbfVQXvsIcObMjQQ0/tZt5HVqwoS7Y1Qj1Xl0ZZvqE8B1Zyk7QMDj829mbTII+9g== + dependencies: + protobufjs "^7.0.0" + "@agoric/cosmic-swingset@^0.34.4", "@agoric/cosmic-swingset@beta": version "0.34.4" resolved "https://registry.yarnpkg.com/@agoric/cosmic-swingset/-/cosmic-swingset-0.34.4.tgz#606c67803a25cb194474da1294212c5705a574e7" @@ -123,6 +186,37 @@ "@agoric/same-structure" "^0.1.29" "@agoric/store" "^0.6.8" +"@agoric/ertp@^0.14.2": + version "0.14.2" + resolved "https://registry.yarnpkg.com/@agoric/ertp/-/ertp-0.14.2.tgz#7c1df4efa402eda4ec8286cf6b659129e5b91aaa" + integrity sha512-0/6rW5mT952+MmL+9p+wdvtF3GkHMokQ7S0e+qOtzIDhdfM+5Yn7F5PsUMGnRHMyWEeL9MBSfDBUFJ4Z0sELow== + dependencies: + "@agoric/assert" "^0.4.0" + "@agoric/nat" "^4.1.0" + "@agoric/notifier" "^0.4.0" + "@agoric/store" "^0.7.2" + "@agoric/swingset-vat" "^0.28.0" + "@agoric/vat-data" "^0.3.1" + "@endo/eventual-send" "^0.15.3" + "@endo/marshal" "^0.6.7" + "@endo/promise-kit" "^0.2.41" + +"@agoric/ertp@^0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@agoric/ertp/-/ertp-0.16.2.tgz#0e41ffb80a635af9729c65cbcd6158abbf16b83e" + integrity sha512-4+CbrkWw2dCYlVAYH+31jFMlwWqw29bak+Rg6qkMuCAp5BpxyBc4DthdovOjwwOBqkBd3QBKrnvkoD9Ltc3YHQ== + dependencies: + "@agoric/assert" "^0.6.0" + "@agoric/notifier" "^0.6.2" + "@agoric/store" "^0.9.2" + "@agoric/swingset-vat" "^0.32.2" + "@agoric/vat-data" "^0.5.2" + "@endo/eventual-send" "^0.17.2" + "@endo/far" "^0.2.18" + "@endo/marshal" "^0.8.5" + "@endo/nat" "^4.1.27" + "@endo/promise-kit" "^0.2.56" + "@agoric/eventual-send@^0.14.0": version "0.14.0" resolved "https://registry.yarnpkg.com/@agoric/eventual-send/-/eventual-send-0.14.0.tgz#72412cc5d84dcac78077f92a43d5bd58401e3938" @@ -136,6 +230,28 @@ "@agoric/eventual-send" "^0.14.0" "@agoric/marshal" "^0.5.0" +"@agoric/governance@^0.10.3": + version "0.10.3" + resolved "https://registry.yarnpkg.com/@agoric/governance/-/governance-0.10.3.tgz#d930b3da8c8e6362ddcbd8c7ac2ec3f090c57f1d" + integrity sha512-DmaZAJ7u5Tpsh3GscqLkxkZfVl5qg6fD905gdKx/b5xahzF65KIcOz48qUVFqZm/l4N4n1TzIazeAApsLpD7Pw== + dependencies: + "@agoric/assert" "^0.6.0" + "@agoric/ertp" "^0.16.2" + "@agoric/internal" "^0.3.2" + "@agoric/notifier" "^0.6.2" + "@agoric/store" "^0.9.2" + "@agoric/swingset-vat" "^0.32.2" + "@agoric/time" "^0.3.2" + "@agoric/vat-data" "^0.5.2" + "@agoric/vats" "^0.15.1" + "@agoric/zoe" "^0.26.2" + "@endo/captp" "^3.1.1" + "@endo/eventual-send" "^0.17.2" + "@endo/far" "^0.2.18" + "@endo/marshal" "^0.8.5" + "@endo/nat" "^4.1.27" + "@endo/promise-kit" "^0.2.56" + "@agoric/governance@^0.4.1": version "0.4.1" resolved "https://registry.yarnpkg.com/@agoric/governance/-/governance-0.4.1.tgz#439fa45c205103bedf5ca1bd97e6ddcb34f23b3f" @@ -153,6 +269,23 @@ "@agoric/store" "^0.6.8" "@agoric/zoe" "^0.21.1" +"@agoric/governance@^0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@agoric/governance/-/governance-0.7.0.tgz#15ee226b4ee27a3dbf4f9b02c4b5fe74aca1d902" + integrity sha512-46lMphbXPl47CNwFqgLXFyI9L716dbl0IvdufxixUYv5K308iVydiZhaFOgGgRQY+oRJ7oTHekPDO78GVlPOCw== + dependencies: + "@agoric/assert" "^0.4.0" + "@agoric/ertp" "^0.14.2" + "@agoric/nat" "^4.1.0" + "@agoric/notifier" "^0.4.0" + "@agoric/store" "^0.7.2" + "@agoric/zoe" "^0.24.0" + "@endo/captp" "^2.0.7" + "@endo/eventual-send" "^0.15.3" + "@endo/far" "^0.2.3" + "@endo/marshal" "^0.6.7" + "@endo/promise-kit" "^0.2.41" + "@agoric/import-bundle@^0.2.33": version "0.2.33" resolved "https://registry.yarnpkg.com/@agoric/import-bundle/-/import-bundle-0.2.33.tgz#beb5b086842275c7da88321cb836cbd898ca4011" @@ -172,6 +305,43 @@ resolved "https://registry.yarnpkg.com/@agoric/install-ses/-/install-ses-0.5.29.tgz#605b599cc47c6a3f33a0f9bfeece3e6c04e7e8c4" integrity sha512-l7feHQQyYz4YAakuf4KnAmGoDIVPXUncDwHckhMlvu5850I1sbBMjibuKuz4ypAf91FX7eK5flVolgWYA7V2eg== +"@agoric/inter-protocol@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@agoric/inter-protocol/-/inter-protocol-0.16.1.tgz#ace188e046bb63b0afd2d79065671d26dab53868" + integrity sha512-1SJLBpeLsgXdJEK4CjzQ2QgLgCJg+OJv8M3dKy9MDMK+ajhQRCB2ySQtGbS9KXgwdpj4FFudKb0/+QaGhgfukg== + dependencies: + "@agoric/assert" "^0.6.0" + "@agoric/ertp" "^0.16.2" + "@agoric/governance" "^0.10.3" + "@agoric/internal" "^0.3.2" + "@agoric/notifier" "^0.6.2" + "@agoric/store" "^0.9.2" + "@agoric/time" "^0.3.2" + "@agoric/vat-data" "^0.5.2" + "@agoric/vats" "^0.15.1" + "@agoric/zoe" "^0.26.2" + "@endo/captp" "^3.1.1" + "@endo/eventual-send" "^0.17.2" + "@endo/far" "^0.2.18" + "@endo/marshal" "^0.8.5" + "@endo/nat" "^4.1.27" + agoric "^0.21.1" + jessie.js "^0.3.2" + +"@agoric/internal@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@agoric/internal/-/internal-0.3.2.tgz#a1242947083ab46cbd34613add8bacbd0c9dc443" + integrity sha512-iCgZE2NabhDKBJ+EfTeVqWUcoNvgxNfnw/dMF57yKnRn3E9iOqt7Iyx+DloTGBu5a1ZyywdQo4G2cFWrMX3Q7g== + dependencies: + "@agoric/zone" "^0.2.2" + "@endo/far" "^0.2.18" + "@endo/marshal" "^0.8.5" + "@endo/patterns" "^0.2.2" + "@endo/promise-kit" "^0.2.56" + "@endo/stream" "^0.3.25" + anylogger "^0.21.0" + jessie.js "^0.3.2" + "@agoric/marshal@^0.5.0": version "0.5.0" resolved "https://registry.yarnpkg.com/@agoric/marshal/-/marshal-0.5.0.tgz#f3beb3d53b99c0198cd8df4b5cd97a4ba2c468c3" @@ -197,6 +367,31 @@ "@agoric/marshal" "^0.5.0" "@agoric/promise-kit" "^0.2.29" +"@agoric/notifier@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@agoric/notifier/-/notifier-0.4.0.tgz#1958f7fe105d95c0a338ed5a3ad25e891e6f37b6" + integrity sha512-4FtawDGpUhifczOwG4+z+yg3R5HfupLgUS8G+T8a5efe42y/z9CzaOeSn/1vvD9CX1M7Y/RKsZB21MLlee3+Cw== + dependencies: + "@agoric/assert" "^0.4.0" + "@endo/eventual-send" "^0.15.3" + "@endo/marshal" "^0.6.7" + "@endo/promise-kit" "^0.2.41" + +"@agoric/notifier@^0.6.2": + version "0.6.2" + resolved "https://registry.yarnpkg.com/@agoric/notifier/-/notifier-0.6.2.tgz#d32404671a042267321ef5df7cf5ce0f16d3e777" + integrity sha512-2Hi8u2TXtsk9Ix0L8xfRMGut1c+w7jiM8Wt4Ys2bgfI/ybdJ4FtDIBvHF1hFU0rSbhUicuKAN85Sok+MkDNcug== + dependencies: + "@agoric/assert" "^0.6.0" + "@agoric/internal" "^0.3.2" + "@agoric/store" "^0.9.2" + "@agoric/swing-store" "^0.9.1" + "@agoric/swingset-vat" "^0.32.2" + "@agoric/vat-data" "^0.5.2" + "@endo/far" "^0.2.18" + "@endo/marshal" "^0.8.5" + "@endo/promise-kit" "^0.2.56" + "@agoric/pegasus@^0.5.1": version "0.5.1" resolved "https://registry.yarnpkg.com/@agoric/pegasus/-/pegasus-0.5.1.tgz#38b8bbd27cc1eef237a387a1e524e543618a156c" @@ -218,6 +413,26 @@ "@agoric/vats" "^0.5.1" "@agoric/zoe" "^0.21.1" +"@agoric/pegasus@^0.7.2": + version "0.7.12" + resolved "https://registry.yarnpkg.com/@agoric/pegasus/-/pegasus-0.7.12.tgz#277cea70db3f4896639c72e7e622fbacda62c0c3" + integrity sha512-yjAvr12tYff26CUOD8zX9r320eiTLMR83JQZBM7BGP4TG5I3Nt75Zqo0OmC2wweESdzPiG4C3bUdk0SldwnJFg== + dependencies: + "@agoric/assert" "^0.6.0" + "@agoric/ertp" "^0.16.2" + "@agoric/internal" "^0.3.2" + "@agoric/notifier" "^0.6.2" + "@agoric/store" "^0.9.2" + "@agoric/swingset-vat" "^0.32.2" + "@agoric/vats" "^0.15.1" + "@agoric/zoe" "^0.26.2" + "@endo/bundle-source" "^2.5.1" + "@endo/captp" "^3.1.1" + "@endo/far" "^0.2.18" + "@endo/init" "^0.5.56" + "@endo/nat" "^4.1.27" + "@endo/promise-kit" "^0.2.56" + "@agoric/promise-kit@^0.2.29": version "0.2.29" resolved "https://registry.yarnpkg.com/@agoric/promise-kit/-/promise-kit-0.2.29.tgz#fcbbf68835808e613bf356b38ea21421eb309701" @@ -225,6 +440,29 @@ dependencies: "@agoric/eventual-send" "^0.14.0" +"@agoric/run-protocol@^0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@agoric/run-protocol/-/run-protocol-0.11.0.tgz#936891969731461ce2b7d8fbf1b9a2abd5244a94" + integrity sha512-ouTg18F/LX4NEyDFtLzDHY8s99wXQb4ae9RrfHhqFzTZp6PtFe7AvKnr81lnH8wFaOtWP+lRflhA04sWkxRKCw== + dependencies: + "@agoric/assert" "^0.4.0" + "@agoric/ertp" "^0.14.2" + "@agoric/governance" "^0.7.0" + "@agoric/nat" "^4.1.0" + "@agoric/notifier" "^0.4.0" + "@agoric/store" "^0.7.2" + "@agoric/swingset-vat" "^0.28.0" + "@agoric/vat-data" "^0.3.1" + "@agoric/vats" "^0.10.0" + "@agoric/zoe" "^0.24.0" + "@endo/bundle-source" "^2.2.0" + "@endo/captp" "^2.0.7" + "@endo/eventual-send" "^0.15.3" + "@endo/far" "^0.2.3" + "@endo/marshal" "^0.6.7" + "@endo/nat" "^4.1.12" + "@endo/promise-kit" "^0.2.41" + "@agoric/same-structure@^0.1.29": version "0.1.29" resolved "https://registry.yarnpkg.com/@agoric/same-structure/-/same-structure-0.1.29.tgz#1b2a86aadb93ba4ef0f0bc05f014198783e9854f" @@ -241,6 +479,35 @@ "@agoric/assert" "^0.3.15" "@agoric/marshal" "^0.5.0" +"@agoric/sharing-service@^0.2.11", "@agoric/sharing-service@^0.2.2": + version "0.2.11" + resolved "https://registry.yarnpkg.com/@agoric/sharing-service/-/sharing-service-0.2.11.tgz#ff7714f10bb7038e8ebfc51c06ffe0472f2caaa1" + integrity sha512-xYLxjjDcd7T0zN5Bu67JvC0WiL7CIoEKm4NAvYS5RjwCqkDjhi+QoVjnq8EskhzWU+BOnjJdtmhjNAlptSnk4Q== + dependencies: + "@agoric/assert" "^0.6.0" + "@endo/marshal" "^0.8.5" + +"@agoric/smart-wallet@^0.5.3": + version "0.5.3" + resolved "https://registry.yarnpkg.com/@agoric/smart-wallet/-/smart-wallet-0.5.3.tgz#a58f31d71e547bdb6d8944162d455f5ce6b16b1e" + integrity sha512-2L7sHmUL/BINuuHv+6A1kYLjidqCNJ2V3GqXm3R6oTeFtzscSzOo3LeOoQ2uPridkZ+fTXxinNfpJ/gRu2pl7g== + dependencies: + "@agoric/assert" "^0.6.0" + "@agoric/casting" "^0.4.2" + "@agoric/ertp" "^0.16.2" + "@agoric/internal" "^0.3.2" + "@agoric/notifier" "^0.6.2" + "@agoric/store" "^0.9.2" + "@agoric/swingset-vat" "^0.32.2" + "@agoric/vat-data" "^0.5.2" + "@agoric/vats" "^0.15.1" + "@agoric/zoe" "^0.26.2" + "@endo/eventual-send" "^0.17.2" + "@endo/far" "^0.2.18" + "@endo/marshal" "^0.8.5" + "@endo/nat" "^4.1.27" + "@endo/promise-kit" "^0.2.56" + "@agoric/solo@beta": version "0.5.4" resolved "https://registry.yarnpkg.com/@agoric/solo/-/solo-0.5.4.tgz#a774b063b2fe631b3c6b452b684a3eeb02267cfe" @@ -291,6 +558,16 @@ "@agoric/import-bundle" "^0.2.33" "@agoric/marshal" "^0.5.0" +"@agoric/spawner@^0.6.8": + version "0.6.8" + resolved "https://registry.yarnpkg.com/@agoric/spawner/-/spawner-0.6.8.tgz#81acb8120c58bbf9df61353a24835e143c3cef77" + integrity sha512-n/vjSr2cU3qyla8dJlCYVqkPnVsRHZE2h6dYy8yG0UZm2AUZju5m4bwj5gm8y+g8zO8Dzmfk0GGIyy9hamS7Uw== + dependencies: + "@agoric/assert" "^0.6.0" + "@endo/eventual-send" "^0.17.2" + "@endo/import-bundle" "^0.3.4" + "@endo/marshal" "^0.8.5" + "@agoric/store@^0.6.8": version "0.6.8" resolved "https://registry.yarnpkg.com/@agoric/store/-/store-0.6.8.tgz#c92d59c725253dff1ef4aacec29b8b32d7fb9302" @@ -299,6 +576,32 @@ "@agoric/assert" "^0.3.15" "@agoric/marshal" "^0.5.0" +"@agoric/store@^0.7.2": + version "0.7.2" + resolved "https://registry.yarnpkg.com/@agoric/store/-/store-0.7.2.tgz#528b00ec766e27785cb0013ba1aefcc9a5191ca3" + integrity sha512-38NIoQ3HOFgagAt1SNLThkcwH4XlcFZ0VOWGA9TgqcWGDgPF8UtC0OLJZM6Qf1aHiSkSYQaXEbrosymWA4n+JA== + dependencies: + "@agoric/assert" "^0.4.0" + "@endo/eventual-send" "^0.15.3" + "@endo/marshal" "^0.6.7" + "@endo/promise-kit" "^0.2.41" + +"@agoric/store@^0.9.2": + version "0.9.2" + resolved "https://registry.yarnpkg.com/@agoric/store/-/store-0.9.2.tgz#0973e57b8811a70923c141fccfb002bbad8fed4b" + integrity sha512-9YtBlQG1cO7COfprPqBUYDW1Jg805Ick1RHm8Etj5VyfkhF8emhv/OqJKi4FMlA3XDVL3Yvbptrjvdo1WjCvjg== + dependencies: + "@agoric/assert" "^0.6.0" + "@agoric/internal" "^0.3.2" + "@endo/eventual-send" "^0.17.2" + "@endo/exo" "^0.2.2" + "@endo/far" "^0.2.18" + "@endo/marshal" "^0.8.5" + "@endo/pass-style" "^0.1.3" + "@endo/patterns" "^0.2.2" + "@endo/promise-kit" "^0.2.56" + "@fast-check/ava" "^1.1.3" + "@agoric/swing-store@^0.6.3": version "0.6.3" resolved "https://registry.yarnpkg.com/@agoric/swing-store/-/swing-store-0.6.3.tgz#6f9e6b3a43f27b8ff10f22c10a56a1cf9dd58dd9" @@ -309,6 +612,47 @@ node-lmdb "^0.9.5" tmp "^0.2.1" +"@agoric/swing-store@^0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@agoric/swing-store/-/swing-store-0.7.0.tgz#8029d41d6f3eb56b9900bca0c2a1c9266a630e17" + integrity sha512-DNlC7CGeIHBZI3XGuVxo2PHmFNCFXTyIpFCvO6HFkCKEN3BsGxxlFlEnMuC6MQ3PcFjoaaeyl2judrEkDzlgew== + dependencies: + "@agoric/assert" "^0.4.0" + better-sqlite3 "^7.5.0" + node-lmdb "^0.9.5" + tmp "^0.2.1" + +"@agoric/swing-store@^0.9.1": + version "0.9.1" + resolved "https://registry.yarnpkg.com/@agoric/swing-store/-/swing-store-0.9.1.tgz#0ed85beac7a7cd2e8e7507ea58e50eecb08a203e" + integrity sha512-GRgXOJwEnFSX3gY2sOhHs1yO503ltUVjslSeSWFHd8bmrPs11igIYRES7Vx4lOSQuNmGe5mKFhgfDnoHPmKxjQ== + dependencies: + "@agoric/assert" "^0.6.0" + "@agoric/internal" "^0.3.2" + "@endo/base64" "^0.2.31" + "@endo/bundle-source" "^2.5.1" + "@endo/check-bundle" "^0.2.18" + "@endo/nat" "^4.1.27" + better-sqlite3 "^8.2.0" + +"@agoric/swingset-liveslots@^0.10.2": + version "0.10.2" + resolved "https://registry.yarnpkg.com/@agoric/swingset-liveslots/-/swingset-liveslots-0.10.2.tgz#a8d18f32ff7a611b9945f4ff920b00b9e2801e08" + integrity sha512-jp05WNHEUH5K8MgiIoHhNrWu7ozKqStyIe0Ex6ejSInFFo/NhJLVL7QLyUgRjD74RbUSuvbR8v8PaQ/pslVI0Q== + dependencies: + "@agoric/assert" "^0.6.0" + "@agoric/internal" "^0.3.2" + "@agoric/store" "^0.9.2" + "@agoric/vat-data" "^0.5.2" + "@endo/eventual-send" "^0.17.2" + "@endo/exo" "^0.2.2" + "@endo/init" "^0.5.56" + "@endo/marshal" "^0.8.5" + "@endo/nat" "^4.1.27" + "@endo/pass-style" "^0.1.3" + "@endo/patterns" "^0.2.2" + "@endo/promise-kit" "^0.2.56" + "@agoric/swingset-vat@^0.24.1": version "0.24.1" resolved "https://registry.yarnpkg.com/@agoric/swingset-vat/-/swingset-vat-0.24.1.tgz#38975bc4b8d161b47ba7946c5282ea47e1247530" @@ -333,6 +677,82 @@ node-lmdb "^0.9.5" semver "^6.3.0" +"@agoric/swingset-vat@^0.28.0": + version "0.28.0" + resolved "https://registry.yarnpkg.com/@agoric/swingset-vat/-/swingset-vat-0.28.0.tgz#fc53271c93acb64d9d791f66af1a3dbd5c4ebdb7" + integrity sha512-Wfs3iQYvy7VFPcwti1SxuI5Upb815uOrJBAP+CH7vTMGbTU6T+1FlZbBICdBcV9qc7NjhCggiGLt6Mmwuk+AUA== + dependencies: + "@agoric/assert" "^0.4.0" + "@agoric/nat" "^4.1.0" + "@agoric/notifier" "^0.4.0" + "@agoric/store" "^0.7.2" + "@agoric/swing-store" "^0.7.0" + "@agoric/xsnap" "^0.13.0" + "@endo/base64" "^0.2.25" + "@endo/bundle-source" "^2.2.0" + "@endo/captp" "^2.0.7" + "@endo/check-bundle" "^0.2.3" + "@endo/compartment-mapper" "^0.7.5" + "@endo/eventual-send" "^0.15.3" + "@endo/import-bundle" "^0.2.45" + "@endo/init" "^0.5.41" + "@endo/marshal" "^0.6.7" + "@endo/promise-kit" "^0.2.41" + "@endo/zip" "^0.2.25" + anylogger "^0.21.0" + import-meta-resolve "^1.1.1" + node-lmdb "^0.9.5" + semver "^6.3.0" + +"@agoric/swingset-vat@^0.32.2": + version "0.32.2" + resolved "https://registry.yarnpkg.com/@agoric/swingset-vat/-/swingset-vat-0.32.2.tgz#5228855132ab2701223316d86eeaef410ec6b4b6" + integrity sha512-aYIhyYCuI7Oi47DBqn8wqMFnQOeOxSB7GU69wOQcQIoJVWRhOECDuFzoEqdV6G8xwGIsGpX/fMtXT9A1YAy6ZA== + dependencies: + "@agoric/assert" "^0.6.0" + "@agoric/internal" "^0.3.2" + "@agoric/store" "^0.9.2" + "@agoric/swing-store" "^0.9.1" + "@agoric/swingset-liveslots" "^0.10.2" + "@agoric/swingset-xsnap-supervisor" "^0.10.2" + "@agoric/time" "^0.3.2" + "@agoric/vat-data" "^0.5.2" + "@agoric/xsnap" "^0.14.2" + "@agoric/xsnap-lockdown" "^0.14.0" + "@endo/base64" "^0.2.31" + "@endo/bundle-source" "^2.5.1" + "@endo/captp" "^3.1.1" + "@endo/check-bundle" "^0.2.18" + "@endo/compartment-mapper" "^0.8.4" + "@endo/eventual-send" "^0.17.2" + "@endo/far" "^0.2.18" + "@endo/import-bundle" "^0.3.4" + "@endo/init" "^0.5.56" + "@endo/marshal" "^0.8.5" + "@endo/nat" "^4.1.27" + "@endo/promise-kit" "^0.2.56" + "@endo/zip" "^0.2.31" + ansi-styles "^6.2.1" + anylogger "^0.21.0" + import-meta-resolve "^2.2.1" + microtime "^3.1.0" + semver "^6.3.0" + tmp "^0.2.1" + +"@agoric/swingset-xsnap-supervisor@^0.10.2": + version "0.10.2" + resolved "https://registry.yarnpkg.com/@agoric/swingset-xsnap-supervisor/-/swingset-xsnap-supervisor-0.10.2.tgz#09f067695b0ea6ebfeb6ea200cc7f1675f0f8939" + integrity sha512-3PB15aiNHfjTYmtUz9Rxmm6qSHnoO5w5dygRzjx2ytk8yoNn/ZOpxlIOLonhD8kwOaEli5D7btY9OA3jf+Sm6w== + +"@agoric/time@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@agoric/time/-/time-0.3.2.tgz#9231eec197e10b52a9f416ec2afe929b67f7165c" + integrity sha512-qRgvfD/gQJNQaWk0uQqPhq0IGbIABz1z6oFtAhGkylU6zNO/no6VpJG4gw5YwEO8mIAJVOM5HE3qL53AaENYkw== + dependencies: + "@agoric/assert" "^0.6.0" + "@agoric/store" "^0.9.2" + "@endo/nat" "^4.1.27" + "@agoric/treasury@^0.7.1": version "0.7.1" resolved "https://registry.yarnpkg.com/@agoric/treasury/-/treasury-0.7.1.tgz#8c12b7fb1fb92d6dbc253459f76e28f9a9c619f9" @@ -355,6 +775,72 @@ "@agoric/swingset-vat" "^0.24.1" "@agoric/zoe" "^0.21.1" +"@agoric/vat-data@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@agoric/vat-data/-/vat-data-0.3.1.tgz#b551f50fbd9cfef6f1d6fc28eeb807ced99fe870" + integrity sha512-ZStdlpQUPFc4nGFjJ3saODtY1W7qgQmeaSXu1EIS05Bh6cD+25so3XB4pvB5fPyQWnD6xeMvCOlLcVgxjo3HgQ== + dependencies: + "@agoric/assert" "^0.4.0" + "@agoric/store" "^0.7.2" + +"@agoric/vat-data@^0.5.2": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@agoric/vat-data/-/vat-data-0.5.2.tgz#abafab83279552466cf4ca946faa175a0a1423dc" + integrity sha512-j71bSl7oPcWikR4bP15KMu67D3BLGLhEOcqgewC1cArcE99rhxDU19ALN0OITD0F0KkNCahRNifoIr73n/fBng== + dependencies: + "@agoric/assert" "^0.6.0" + "@agoric/internal" "^0.3.2" + "@agoric/store" "^0.9.2" + +"@agoric/vats@^0.10.0", "@agoric/vats@beta": + version "0.10.0" + resolved "https://registry.yarnpkg.com/@agoric/vats/-/vats-0.10.0.tgz#c6d031e2c9f99e5867ba1387b1d385f54bc3b6fc" + integrity sha512-KBaHiFaDBO4coFOYaTEEqKSCmpSUNZ8c4vNMokEx9WeYNkdHKFgdcmYLvFKuKBL7Rzp5w2m0kcAv7S2GMeY12Q== + dependencies: + "@agoric/assert" "^0.4.0" + "@agoric/ertp" "^0.14.2" + "@agoric/governance" "^0.7.0" + "@agoric/nat" "^4.1.0" + "@agoric/notifier" "^0.4.0" + "@agoric/pegasus" "^0.7.2" + "@agoric/run-protocol" "^0.11.0" + "@agoric/sharing-service" "^0.2.2" + "@agoric/store" "^0.7.2" + "@agoric/swingset-vat" "^0.28.0" + "@agoric/wallet-backend" "^0.12.1" + "@agoric/zoe" "^0.24.0" + "@endo/far" "^0.2.3" + "@endo/import-bundle" "^0.2.45" + "@endo/init" "^0.5.41" + "@endo/marshal" "^0.6.7" + "@endo/promise-kit" "^0.2.41" + +"@agoric/vats@^0.15.1": + version "0.15.1" + resolved "https://registry.yarnpkg.com/@agoric/vats/-/vats-0.15.1.tgz#95d43742d5375b2c0718b5f899fb7eb87aaa3b7b" + integrity sha512-uYV+f3+RJ/KM9O5+7HcsGqLfvhtj9V1e7u1y8TZeTs2zJXVRVuGi/xQaMSGwf3CBBgBtyj8hFUCCYCeHxB1qRQ== + dependencies: + "@agoric/assert" "^0.6.0" + "@agoric/ertp" "^0.16.2" + "@agoric/governance" "^0.10.3" + "@agoric/inter-protocol" "^0.16.1" + "@agoric/internal" "^0.3.2" + "@agoric/notifier" "^0.6.2" + "@agoric/sharing-service" "^0.2.11" + "@agoric/store" "^0.9.2" + "@agoric/swingset-vat" "^0.32.2" + "@agoric/time" "^0.3.2" + "@agoric/vat-data" "^0.5.2" + "@agoric/zoe" "^0.26.2" + "@agoric/zone" "^0.2.2" + "@endo/far" "^0.2.18" + "@endo/import-bundle" "^0.3.4" + "@endo/init" "^0.5.56" + "@endo/marshal" "^0.8.5" + "@endo/nat" "^4.1.27" + "@endo/promise-kit" "^0.2.56" + jessie.js "^0.3.2" + "@agoric/vats@^0.5.1": version "0.5.1" resolved "https://registry.yarnpkg.com/@agoric/vats/-/vats-0.5.1.tgz#780e768b08e0365b075df58943de6b02d8505d17" @@ -394,6 +880,23 @@ "@agoric/zoe" "^0.21.1" import-meta-resolve "^1.1.1" +"@agoric/wallet-backend@^0.12.1": + version "0.12.1" + resolved "https://registry.yarnpkg.com/@agoric/wallet-backend/-/wallet-backend-0.12.1.tgz#c89b02cb9f2796f92a9466039649381efccad9d5" + integrity sha512-B9B4n1pibPxduGX2sUpzPMQlTFk/5BPO+yRLoWqJfhzIZCEy0ICGWs7kNas7iktsfCioKl7+cGi9iGwEk+LLLQ== + dependencies: + "@agoric/assert" "^0.4.0" + "@agoric/ertp" "^0.14.2" + "@agoric/nat" "^4.1.0" + "@agoric/notifier" "^0.4.0" + "@agoric/run-protocol" "^0.11.0" + "@agoric/store" "^0.7.2" + "@agoric/zoe" "^0.24.0" + "@endo/eventual-send" "^0.15.3" + "@endo/marshal" "^0.6.7" + "@endo/promise-kit" "^0.2.41" + import-meta-resolve "^1.1.1" + "@agoric/wallet@^0.11.7": version "0.11.7" resolved "https://registry.yarnpkg.com/@agoric/wallet/-/wallet-0.11.7.tgz#902d90ae1a6aa4d09160b2683a548a6d72b5a4e7" @@ -404,6 +907,11 @@ eslint-plugin-eslint-comments "^3.1.2" import-meta-resolve "^1.1.1" +"@agoric/xsnap-lockdown@^0.14.0": + version "0.14.0" + resolved "https://registry.yarnpkg.com/@agoric/xsnap-lockdown/-/xsnap-lockdown-0.14.0.tgz#0c605bbd08e6ccf1954a615dbce7d4c0fe578a32" + integrity sha512-T8kYrW1baTDQTkQJ9mDp1ME2Ive3RNNRFU7PXuu60Pu9A/tWliYKiJWwqcGhYAQOkHxxFz0BVwk9Jf8HErzgRA== + "@agoric/xsnap@^0.11.0": version "0.11.0" resolved "https://registry.yarnpkg.com/@agoric/xsnap/-/xsnap-0.11.0.tgz#6b07b3d6ce2a3e3ed4cd4e00af1b957d614077d5" @@ -417,6 +925,40 @@ "@endo/netstring" "^0.2.8" glob "^7.1.6" +"@agoric/xsnap@^0.13.0": + version "0.13.3" + resolved "https://registry.yarnpkg.com/@agoric/xsnap/-/xsnap-0.13.3.tgz#a6d97728b02a4981ac89920dba0dd2a3ab4a9e83" + integrity sha512-Fpq5vP3JLDCeIrstTjl/Yp3hPzW37KpQw3cE+ma3LEe2z2sepc71cMgSTX09nps527lHbQusjitDb4xbn4QGjw== + dependencies: + "@agoric/assert" "^0.5.1" + "@endo/bundle-source" "^2.3.1" + "@endo/eventual-send" "^0.16.5" + "@endo/init" "^0.5.49" + "@endo/netstring" "^0.3.19" + "@endo/promise-kit" "^0.2.49" + "@endo/stream" "^0.3.18" + "@endo/stream-node" "^0.2.19" + glob "^7.1.6" + rollup-plugin-string "^3.0.0" + +"@agoric/xsnap@^0.14.2": + version "0.14.2" + resolved "https://registry.yarnpkg.com/@agoric/xsnap/-/xsnap-0.14.2.tgz#0685b1c85af986edc3e5f226fd4e96c44df32bf0" + integrity sha512-bA4IZJixw8uCcDBqA9KUKEnxjB65pdkWb5xL0a4XM//QvIzYmB6EGJ80U+pbMOrjGtomUqo0Oxdc5X/PhAniSg== + dependencies: + "@agoric/assert" "^0.6.0" + "@agoric/internal" "^0.3.2" + "@agoric/xsnap-lockdown" "^0.14.0" + "@endo/bundle-source" "^2.5.1" + "@endo/eventual-send" "^0.17.2" + "@endo/init" "^0.5.56" + "@endo/netstring" "^0.3.26" + "@endo/promise-kit" "^0.2.56" + "@endo/stream" "^0.3.25" + "@endo/stream-node" "^0.2.26" + glob "^7.1.6" + tmp "^0.2.1" + "@agoric/zoe@^0.21.1", "@agoric/zoe@beta": version "0.21.1" resolved "https://registry.yarnpkg.com/@agoric/zoe/-/zoe-0.21.1.tgz#f778e8659069e42c376281b1f203689ed7ba5763" @@ -437,6 +979,57 @@ "@agoric/store" "^0.6.8" "@agoric/swingset-vat" "^0.24.1" +"@agoric/zoe@^0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@agoric/zoe/-/zoe-0.24.0.tgz#383695c6a70dc6ef77b12bbd858567ed2f6bce6a" + integrity sha512-kT7cDDn2Tvfd1P0Pk+FIcrg2BdzLF9VnQ0hfxHIAQrCN68tHIAPrt9wW3R8T8H1HA6t9bC0CqQGQEo8BrDKblw== + dependencies: + "@agoric/assert" "^0.4.0" + "@agoric/ertp" "^0.14.2" + "@agoric/nat" "^4.1.0" + "@agoric/notifier" "^0.4.0" + "@agoric/store" "^0.7.2" + "@agoric/swingset-vat" "^0.28.0" + "@agoric/vat-data" "^0.3.1" + "@endo/bundle-source" "^2.2.0" + "@endo/eventual-send" "^0.15.3" + "@endo/far" "^0.2.3" + "@endo/import-bundle" "^0.2.45" + "@endo/marshal" "^0.6.7" + "@endo/promise-kit" "^0.2.41" + +"@agoric/zoe@^0.26.2": + version "0.26.2" + resolved "https://registry.yarnpkg.com/@agoric/zoe/-/zoe-0.26.2.tgz#c6cd260171a4c0307e160b93ae9f6ce29a675d70" + integrity sha512-xFZQ0Rz4UmHNWCUeLWFqtGgKNBPVvfb5IEmh+nSnbgJK45Y4Kcci77XkciO//e6xQo8dacrNhTELke3iAEISAA== + dependencies: + "@agoric/assert" "^0.6.0" + "@agoric/ertp" "^0.16.2" + "@agoric/internal" "^0.3.2" + "@agoric/notifier" "^0.6.2" + "@agoric/store" "^0.9.2" + "@agoric/swingset-vat" "^0.32.2" + "@agoric/time" "^0.3.2" + "@agoric/vat-data" "^0.5.2" + "@endo/bundle-source" "^2.5.1" + "@endo/captp" "^3.1.1" + "@endo/eventual-send" "^0.17.2" + "@endo/far" "^0.2.18" + "@endo/import-bundle" "^0.3.4" + "@endo/marshal" "^0.8.5" + "@endo/nat" "^4.1.27" + "@endo/patterns" "^0.2.2" + "@endo/promise-kit" "^0.2.56" + +"@agoric/zone@^0.2.2": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@agoric/zone/-/zone-0.2.2.tgz#df5cc091d4a83842b87888e74159a723a424a82e" + integrity sha512-joVRnwH55xOeaoO2xYd1TWXXLPQ9pAeNsaiwTjO3FufYb/q55rv9mpYdUdhEy+zYQuFpPH87+6w/o3f/0AXrDQ== + dependencies: + "@agoric/store" "^0.9.2" + "@agoric/vat-data" "^0.5.2" + "@endo/far" "^0.2.18" + "@babel/code-frame@7.12.11": version "7.12.11" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" @@ -1358,11 +1951,251 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + +"@confio/ics23@^0.6.8": + version "0.6.8" + resolved "https://registry.yarnpkg.com/@confio/ics23/-/ics23-0.6.8.tgz#2a6b4f1f2b7b20a35d9a0745bb5a446e72930b3d" + integrity sha512-wB6uo+3A50m0sW/EWcU64xpV/8wShZ6bMTa7pF8eYsTrSkQA7oLUIJcs/wb8g4y2Oyq701BaGiO6n/ak5WXO1w== + dependencies: + "@noble/hashes" "^1.0.0" + protobufjs "^6.8.8" + +"@confio/relayer@^0.9.0": + version "0.9.0" + resolved "https://registry.yarnpkg.com/@confio/relayer/-/relayer-0.9.0.tgz#d0f9917f2a1b02e15d33dacb3e044d358022a9a9" + integrity sha512-YfoPMCH72BM/bYQ58+F75zYsZ2vEPocY0CaQLE6PPDtBOKrdXM3LTj5zUdZSbHDQSrDDmRrKcuZVufpdrRimQw== + dependencies: + "@cosmjs/cosmwasm-stargate" "^0.30.0" + "@cosmjs/crypto" "^0.30.0" + "@cosmjs/encoding" "^0.30.0" + "@cosmjs/faucet-client" "^0.30.0" + "@cosmjs/math" "^0.30.0" + "@cosmjs/proto-signing" "^0.30.0" + "@cosmjs/stargate" "^0.30.0" + "@cosmjs/stream" "^0.30.0" + "@cosmjs/tendermint-rpc" "^0.30.0" + "@cosmjs/utils" "^0.30.0" + ajv "7.1.1" + axios "0.21.4" + commander "7.1.0" + cosmjs-types "^0.7.1" + fast-safe-stringify "2.0.4" + js-yaml "4.0.0" + lodash "4.17.21" + prom-client "13.1.0" + protobufjs "^6.10.3" + table "^6.7.1" + triple-beam "1.3.0" + winston "3.3.3" + +"@cosmjs/amino@^0.30.1": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.30.1.tgz#7c18c14627361ba6c88e3495700ceea1f76baace" + integrity sha512-yNHnzmvAlkETDYIpeCTdVqgvrdt1qgkOXwuRVi8s27UKI5hfqyE9fJ/fuunXE6ZZPnKkjIecDznmuUOMrMvw4w== + dependencies: + "@cosmjs/crypto" "^0.30.1" + "@cosmjs/encoding" "^0.30.1" + "@cosmjs/math" "^0.30.1" + "@cosmjs/utils" "^0.30.1" + +"@cosmjs/cosmwasm-stargate@^0.30.0": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@cosmjs/cosmwasm-stargate/-/cosmwasm-stargate-0.30.1.tgz#6f9ca310f75433a3e30d683bc6aa24eadb345d79" + integrity sha512-W/6SLUCJAJGBN+sJLXouLZikVgmqDd9LCdlMzQaxczcCHTWeJAmRvOiZGSZaSy3shw/JN1qc6g6PKpvTVgj10A== + dependencies: + "@cosmjs/amino" "^0.30.1" + "@cosmjs/crypto" "^0.30.1" + "@cosmjs/encoding" "^0.30.1" + "@cosmjs/math" "^0.30.1" + "@cosmjs/proto-signing" "^0.30.1" + "@cosmjs/stargate" "^0.30.1" + "@cosmjs/tendermint-rpc" "^0.30.1" + "@cosmjs/utils" "^0.30.1" + cosmjs-types "^0.7.1" + long "^4.0.0" + pako "^2.0.2" + +"@cosmjs/crypto@^0.30.0", "@cosmjs/crypto@^0.30.1": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@cosmjs/crypto/-/crypto-0.30.1.tgz#21e94d5ca8f8ded16eee1389d2639cb5c43c3eb5" + integrity sha512-rAljUlake3MSXs9xAm87mu34GfBLN0h/1uPPV6jEwClWjNkAMotzjC0ab9MARy5FFAvYHL3lWb57bhkbt2GtzQ== + dependencies: + "@cosmjs/encoding" "^0.30.1" + "@cosmjs/math" "^0.30.1" + "@cosmjs/utils" "^0.30.1" + "@noble/hashes" "^1" + bn.js "^5.2.0" + elliptic "^6.5.4" + libsodium-wrappers "^0.7.6" + +"@cosmjs/encoding@^0.30.0", "@cosmjs/encoding@^0.30.1": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.30.1.tgz#b5c4e0ef7ceb1f2753688eb96400ed70f35c6058" + integrity sha512-rXmrTbgqwihORwJ3xYhIgQFfMSrwLu1s43RIK9I8EBudPx3KmnmyAKzMOVsRDo9edLFNuZ9GIvysUCwQfq3WlQ== + dependencies: + base64-js "^1.3.0" + bech32 "^1.1.4" + readonly-date "^1.0.0" + +"@cosmjs/faucet-client@^0.30.0": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@cosmjs/faucet-client/-/faucet-client-0.30.1.tgz#81406128830ba47ae824a912144a28a7fe70300d" + integrity sha512-uOYIjouOCjncfthDzeygcWtEpShiNN0u9tORSingufOAO/kmlHwM53M5I1a8ak1EktkEEa+Mxdj3kRfV87DOcw== + dependencies: + axios "^0.21.2" + +"@cosmjs/json-rpc@^0.30.1": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@cosmjs/json-rpc/-/json-rpc-0.30.1.tgz#16f21305fc167598c8a23a45549b85106b2372bc" + integrity sha512-pitfC/2YN9t+kXZCbNuyrZ6M8abnCC2n62m+JtU9vQUfaEtVsgy+1Fk4TRQ175+pIWSdBMFi2wT8FWVEE4RhxQ== + dependencies: + "@cosmjs/stream" "^0.30.1" + xstream "^11.14.0" + +"@cosmjs/math@^0.30.0", "@cosmjs/math@^0.30.1": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.30.1.tgz#8b816ef4de5d3afa66cb9fdfb5df2357a7845b8a" + integrity sha512-yaoeI23pin9ZiPHIisa6qqLngfnBR/25tSaWpkTm8Cy10MX70UF5oN4+/t1heLaM6SSmRrhk3psRkV4+7mH51Q== + dependencies: + bn.js "^5.2.0" + +"@cosmjs/proto-signing@^0.30.0", "@cosmjs/proto-signing@^0.30.1": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@cosmjs/proto-signing/-/proto-signing-0.30.1.tgz#f0dda372488df9cd2677150b89b3e9c72b3cb713" + integrity sha512-tXh8pPYXV4aiJVhTKHGyeZekjj+K9s2KKojMB93Gcob2DxUjfKapFYBMJSgfKPuWUPEmyr8Q9km2hplI38ILgQ== + dependencies: + "@cosmjs/amino" "^0.30.1" + "@cosmjs/crypto" "^0.30.1" + "@cosmjs/encoding" "^0.30.1" + "@cosmjs/math" "^0.30.1" + "@cosmjs/utils" "^0.30.1" + cosmjs-types "^0.7.1" + long "^4.0.0" + +"@cosmjs/socket@^0.30.1": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@cosmjs/socket/-/socket-0.30.1.tgz#00b22f4b5e2ab01f4d82ccdb7b2e59536bfe5ce0" + integrity sha512-r6MpDL+9N+qOS/D5VaxnPaMJ3flwQ36G+vPvYJsXArj93BjgyFB7BwWwXCQDzZ+23cfChPUfhbINOenr8N2Kow== + dependencies: + "@cosmjs/stream" "^0.30.1" + isomorphic-ws "^4.0.1" + ws "^7" + xstream "^11.14.0" + +"@cosmjs/stargate@^0.30.0", "@cosmjs/stargate@^0.30.1": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@cosmjs/stargate/-/stargate-0.30.1.tgz#e1b22e1226cffc6e93914a410755f1f61057ba04" + integrity sha512-RdbYKZCGOH8gWebO7r6WvNnQMxHrNXInY/gPHPzMjbQF6UatA6fNM2G2tdgS5j5u7FTqlCI10stNXrknaNdzog== + dependencies: + "@confio/ics23" "^0.6.8" + "@cosmjs/amino" "^0.30.1" + "@cosmjs/encoding" "^0.30.1" + "@cosmjs/math" "^0.30.1" + "@cosmjs/proto-signing" "^0.30.1" + "@cosmjs/stream" "^0.30.1" + "@cosmjs/tendermint-rpc" "^0.30.1" + "@cosmjs/utils" "^0.30.1" + cosmjs-types "^0.7.1" + long "^4.0.0" + protobufjs "~6.11.3" + xstream "^11.14.0" + +"@cosmjs/stream@^0.30.0", "@cosmjs/stream@^0.30.1": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@cosmjs/stream/-/stream-0.30.1.tgz#ba038a2aaf41343696b1e6e759d8e03a9516ec1a" + integrity sha512-Fg0pWz1zXQdoxQZpdHRMGvUH5RqS6tPv+j9Eh7Q953UjMlrwZVo0YFLC8OTf/HKVf10E4i0u6aM8D69Q6cNkgQ== + dependencies: + xstream "^11.14.0" + +"@cosmjs/tendermint-rpc@^0.30.0", "@cosmjs/tendermint-rpc@^0.30.1": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.30.1.tgz#c16378892ba1ac63f72803fdf7567eab9d4f0aa0" + integrity sha512-Z3nCwhXSbPZJ++v85zHObeUggrEHVfm1u18ZRwXxFE9ZMl5mXTybnwYhczuYOl7KRskgwlB+rID0WYACxj4wdQ== + dependencies: + "@cosmjs/crypto" "^0.30.1" + "@cosmjs/encoding" "^0.30.1" + "@cosmjs/json-rpc" "^0.30.1" + "@cosmjs/math" "^0.30.1" + "@cosmjs/socket" "^0.30.1" + "@cosmjs/stream" "^0.30.1" + "@cosmjs/utils" "^0.30.1" + axios "^0.21.2" + readonly-date "^1.0.0" + xstream "^11.14.0" + +"@cosmjs/utils@^0.30.0", "@cosmjs/utils@^0.30.1": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.30.1.tgz#6d92582341be3c2ec8d82090253cfa4b7f959edb" + integrity sha512-KvvX58MGMWh7xA+N+deCfunkA/ZNDvFLw4YbOmX3f/XBIkqrVY7qlotfy2aNb1kgp6h4B6Yc8YawJPDTfvWX7g== + +"@dabh/diagnostics@^2.0.2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@dabh/diagnostics/-/diagnostics-2.0.3.tgz#7f7e97ee9a725dffc7808d93668cc984e1dc477a" + integrity sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA== + dependencies: + colorspace "1.1.x" + enabled "2.0.x" + kuler "^2.0.0" + +"@datadog/native-appsec@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@datadog/native-appsec/-/native-appsec-3.2.0.tgz#ddeca06cbaba9c6905903d09d18013f81eedc8c3" + integrity sha512-biAa7EFfuavjSWgSQaCit9CqGzr6Af5nhzfNNGJ38Y/Y387hDvLivAR374kK1z6XoxGZEOa+XPbVogmV/2Bcjw== + dependencies: + node-gyp-build "^3.9.0" + +"@datadog/native-iast-rewriter@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@datadog/native-iast-rewriter/-/native-iast-rewriter-2.0.1.tgz#dc4a23796870f2d840053ae879c61547eda6bb89" + integrity sha512-Mm+FG3XxEbPrAfJQPOMHts7iZZXRvg9gnGeeFRGkyirmRcQcOpZO4wFe/8K61DUVa5pXpgAJQ2ZkBGYF1O9STg== + dependencies: + node-gyp-build "^4.5.0" + +"@datadog/native-iast-taint-tracking@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@datadog/native-iast-taint-tracking/-/native-iast-taint-tracking-1.5.0.tgz#1a55eca6692079ac6167696682acb972aa0b0181" + integrity sha512-SOWIk1M6PZH0osNB191Voz2rKBPoF5hISWVSK9GiJPrD40+xjib1Z/bFDV7EkDn3kjOyordSBdNPG5zOqZJdyg== + dependencies: + node-gyp-build "^3.9.0" + +"@datadog/native-metrics@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@datadog/native-metrics/-/native-metrics-2.0.0.tgz#65bf03313ee419956361e097551db36173e85712" + integrity sha512-YklGVwUtmKGYqFf1MNZuOHvTYdKuR4+Af1XkWcMD8BwOAjxmd9Z+97328rCOY8TFUJzlGUPaXzB8j2qgG/BMwA== + dependencies: + node-addon-api "^6.1.0" + node-gyp-build "^3.9.0" + +"@datadog/pprof@3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@datadog/pprof/-/pprof-3.1.0.tgz#d58aac33985dbb71f77d85a41023a35f1ad55290" + integrity sha512-Bg8O8yrHeL2KKHXhLoAAT33ZfzLnZ6rWfOjy8PkcNhUJy3UwNVLbUoApf+99EyLjqpzpk/kZXrIAMBzMMB8ilg== + dependencies: + delay "^5.0.0" + node-gyp-build "<4.0" + p-limit "^3.1.0" + pprof-format "^2.0.7" + source-map "^0.7.4" + +"@datadog/sketches-js@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@datadog/sketches-js/-/sketches-js-2.1.0.tgz#8c7e8028a5fc22ad102fa542b0a446c956830455" + integrity sha512-smLocSfrt3s53H/XSVP3/1kP42oqvrkjUPtyaFd1F79ux24oE31BKt+q0c6lsa6hOYrFzsIwyc5GXAI5JmfOew== + "@endo/base64@^0.2.21", "@endo/base64@^0.2.8": version "0.2.21" resolved "https://registry.yarnpkg.com/@endo/base64/-/base64-0.2.21.tgz#e58fc38891fda25d57f1ed90274210c8781b2f22" integrity sha512-Q7L3Ns1xoWma0qisXPUukuS/imugvE17HrwrXypfQlx5k0nh9zrhfboVs59EWfYtBllF27ZmxLZW2C88IUreFQ== +"@endo/base64@^0.2.25", "@endo/base64@^0.2.31", "@endo/base64@^0.2.32", "@endo/base64@^0.2.34": + version "0.2.34" + resolved "https://registry.yarnpkg.com/@endo/base64/-/base64-0.2.34.tgz#3de6f121d079a6d9055ac1a6c38243860aa1b6ee" + integrity sha512-UXfNd3fVqjOMwHW81g0pfhzMPUbmr2X0+1oBYVuYCco5k+GDwzO6smRzfef0MGtxLVIXvf86Npb5eDuegQKGHA== + "@endo/base64@^0.2.27": version "0.2.27" resolved "https://registry.yarnpkg.com/@endo/base64/-/base64-0.2.27.tgz#6c68fe83092c621e2d46f77523e0e898e7f7fa68" @@ -1384,11 +2217,64 @@ rollup "^2.47.0" source-map "^0.7.3" +"@endo/bundle-source@^2.2.0", "@endo/bundle-source@^2.3.1", "@endo/bundle-source@^2.5.1": + version "2.7.0" + resolved "https://registry.yarnpkg.com/@endo/bundle-source/-/bundle-source-2.7.0.tgz#10a398128b8968bdd89420fab4390b10ae258336" + integrity sha512-IT/TCxjvcJj6IU22bnIpouPJuZG+ANJrbWKihnlNyQppS25YEYjvf31iGIRBhcJWaWDDyDIfIDsSgxmrFBWnyw== + dependencies: + "@agoric/babel-generator" "^7.17.4" + "@babel/parser" "^7.17.3" + "@babel/traverse" "^7.17.3" + "@endo/base64" "^0.2.34" + "@endo/compartment-mapper" "^0.9.1" + "@endo/init" "^0.5.59" + "@endo/promise-kit" "^0.2.59" + "@endo/where" "^0.3.4" + "@rollup/plugin-commonjs" "^19.0.0" + "@rollup/plugin-node-resolve" "^13.0.0" + acorn "^8.2.4" + jessie.js "^0.3.2" + rollup endojs/endo#rollup-2.7.1-patch-1 + source-map "^0.7.3" + +"@endo/captp@^2.0.7": + version "2.0.19" + resolved "https://registry.yarnpkg.com/@endo/captp/-/captp-2.0.19.tgz#d1e878271eb24fc4d85b67586a4b9891180ab0ba" + integrity sha512-vkJzBvYD9mgdKJuiunvaQ6HcvnNmu1bJBx1yIkRDcvbfSoX0FqYQMNP/t9lF/h6HqddGXjJdKDPpyfwQnRCc+A== + dependencies: + "@endo/eventual-send" "^0.16.9" + "@endo/marshal" "^0.8.2" + "@endo/nat" "^4.1.24" + "@endo/promise-kit" "^0.2.53" + +"@endo/captp@^3.1.1": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@endo/captp/-/captp-3.1.4.tgz#7f6f4d304d2387f16c6080134701e202374361d1" + integrity sha512-fSrbTcFEYZGy26s4qio7KQBivI/Wb0+zV8YMRpls/eDMHIR1Cz+LTn7qD6hcLPpk4fLFjOpDCcbcoSGeP/YMRw== + dependencies: + "@endo/eventual-send" "^0.17.5" + "@endo/marshal" "^0.8.8" + "@endo/nat" "^4.1.30" + "@endo/promise-kit" "^0.2.59" + +"@endo/check-bundle@^0.2.18", "@endo/check-bundle@^0.2.3": + version "0.2.21" + resolved "https://registry.yarnpkg.com/@endo/check-bundle/-/check-bundle-0.2.21.tgz#fe6947f6648a49ecf47b9d48860f4e9db3ef810a" + integrity sha512-kv36nzyLMJrvuRXKxMvPxknnxEisADLoMPKcmSN6WTVRuUV7wRlXiptvU3hu2LF/c3mKsoDEfGdhv9oaCMAmEg== + dependencies: + "@endo/base64" "^0.2.34" + "@endo/compartment-mapper" "^0.9.1" + "@endo/cjs-module-analyzer@^0.2.11", "@endo/cjs-module-analyzer@^0.2.21": version "0.2.21" resolved "https://registry.yarnpkg.com/@endo/cjs-module-analyzer/-/cjs-module-analyzer-0.2.21.tgz#e6b6f65d9378d1e56a62caa69948f9e2e442dd17" integrity sha512-nmRVyuqVWTVzewn/4Iy28XGPXcxwdR0475V8E0151Iy221Xyi4q+EcsB4lLbu8dIimkps8pR1eoY4oCWsedbTw== +"@endo/cjs-module-analyzer@^0.2.27", "@endo/cjs-module-analyzer@^0.2.32", "@endo/cjs-module-analyzer@^0.2.34": + version "0.2.34" + resolved "https://registry.yarnpkg.com/@endo/cjs-module-analyzer/-/cjs-module-analyzer-0.2.34.tgz#bef0196fb01477f199159e097a4d6b1c1f0c9591" + integrity sha512-Ik5Q0NDFMLx4wXlP0JCzpPt6yqNGsRrFqhe/DBhsU+3GXDMhpabUZk7xzN6Tthr6MTG06P8p2sOVwwyvNLrlvw== + "@endo/compartment-mapper@^0.5.3": version "0.5.6" resolved "https://registry.yarnpkg.com/@endo/compartment-mapper/-/compartment-mapper-0.5.6.tgz#1c2a9e91c062a24a856e725e7d36a3ee5c46b73c" @@ -1409,16 +2295,107 @@ "@endo/zip" "^0.2.21" ses "^0.15.11" +"@endo/compartment-mapper@^0.7.15", "@endo/compartment-mapper@^0.7.5": + version "0.7.15" + resolved "https://registry.yarnpkg.com/@endo/compartment-mapper/-/compartment-mapper-0.7.15.tgz#fb6c03925c6544dbb699520f100d5088770b5194" + integrity sha512-gZyPrpwyCKX19JrEu/U2QeVVoORoFv0KGpAclB4tSMEj0AMVixLieHtoOSBXZ3z2UCAVBDPeVTj7hp40lRccKA== + dependencies: + "@endo/cjs-module-analyzer" "^0.2.27" + "@endo/static-module-record" "^0.7.14" + "@endo/zip" "^0.2.27" + ses "^0.17.0" + +"@endo/compartment-mapper@^0.8.4", "@endo/compartment-mapper@^0.8.5": + version "0.8.5" + resolved "https://registry.yarnpkg.com/@endo/compartment-mapper/-/compartment-mapper-0.8.5.tgz#6910d2be41754fde90190671d2fc5dc48d6fb787" + integrity sha512-PKJ1WgYRBkSEJTYOXZTOf9tYQLEkuGTfhAPoKm22loAuaXWI1ortJ7UdRAPLWt95Cd71KGrmfd1FpemGvmr3lQ== + dependencies: + "@endo/cjs-module-analyzer" "^0.2.32" + "@endo/static-module-record" "^0.7.20" + "@endo/zip" "^0.2.32" + ses "^0.18.5" + +"@endo/compartment-mapper@^0.9.1": + version "0.9.1" + resolved "https://registry.yarnpkg.com/@endo/compartment-mapper/-/compartment-mapper-0.9.1.tgz#e5935ade7bb6280acb8b545ad84e289122bac544" + integrity sha512-uqVFo597bqjWaaPQnqMumkAgk6KVQbQm+hPtoARB2R2VNbBLD8ED/53HrxtvA/+Iw1PQrvJEcZkIGCvbzFKeuA== + dependencies: + "@endo/cjs-module-analyzer" "^0.2.34" + "@endo/static-module-record" "^0.8.1" + "@endo/zip" "^0.2.34" + ses "^0.18.7" + +"@endo/env-options@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@endo/env-options/-/env-options-0.1.3.tgz#430133977de48fb64125535d54f75e0eb0682260" + integrity sha512-ljs5E0+Fhe5IQsciCn6jL5bsi1PYysPm4NhrPmNByw136AcjUbfZhOBmOzeXwOhxaL93cI/jTStNdWEA80Q+nQ== + "@endo/eventual-send@^0.14.8": version "0.14.8" resolved "https://registry.yarnpkg.com/@endo/eventual-send/-/eventual-send-0.14.8.tgz#0d95b5cd7e420219cdd84c43683bfbd0b6cd2ff6" integrity sha512-JIbzzIk1/Z+44O7+IuF5HfMzGu1txOvW5IJKu91syk//MIWU1+XQyPhwQKuWiZ2KX+ADdSPyNZTZjAN2IAE8gQ== -"@endo/eventual-send@^0.15.5": +"@endo/eventual-send@^0.15.3", "@endo/eventual-send@^0.15.5": version "0.15.5" resolved "https://registry.yarnpkg.com/@endo/eventual-send/-/eventual-send-0.15.5.tgz#116233ad86beac385604ee8fe12dc0ff4c5c13cd" integrity sha512-/xc8g2pbZ/IBRps5TQ4YwyxwUKmX7DY1jsj79mAypVkhXzk5jWQ9eRzGmR+j/uYgS6rRwi0DLdtVUTKRaaH5BA== +"@endo/eventual-send@^0.16.5", "@endo/eventual-send@^0.16.9": + version "0.16.9" + resolved "https://registry.yarnpkg.com/@endo/eventual-send/-/eventual-send-0.16.9.tgz#d0f81510a6cc3b7e160e27335f03de89a367b8d8" + integrity sha512-2ahhtCKpT1f/KDcD7aOhSQfBzzO8cL8m5I8baeXln20QM8mEtBIavlj8d36Pop2VSCoK2uoqAKUNAzgF/hTaIg== + +"@endo/eventual-send@^0.17.2", "@endo/eventual-send@^0.17.5": + version "0.17.5" + resolved "https://registry.yarnpkg.com/@endo/eventual-send/-/eventual-send-0.17.5.tgz#2f5390eda82a1c4dcd4c1c9c748ddd96d043d0ba" + integrity sha512-GpDSU2+Hcn99mff3dt62/ZDiZkG20spawZcNgRNB5oZe+kW6pP26ugDI2jRXML5yoQbUBtSit26HDD8GX2p/HQ== + dependencies: + "@endo/env-options" "^0.1.3" + +"@endo/exo@^0.2.2": + version "0.2.5" + resolved "https://registry.yarnpkg.com/@endo/exo/-/exo-0.2.5.tgz#2bc9c742e43eea544153132c6632f371637c5345" + integrity sha512-5shiclRqU/55/SZbf2EVLyhY8UeAIbsGYvScsrmdforL+dDVjD2q3fdV7oLEVb/jlLKHZwmpa2XTYwpR/15ogg== + dependencies: + "@endo/env-options" "^0.1.3" + "@endo/far" "^0.2.21" + "@endo/pass-style" "^0.1.6" + "@endo/patterns" "^0.2.5" + +"@endo/far@^0.2.18", "@endo/far@^0.2.19", "@endo/far@^0.2.21", "@endo/far@^0.2.3": + version "0.2.21" + resolved "https://registry.yarnpkg.com/@endo/far/-/far-0.2.21.tgz#f61fae564486d7b7ab77c95c4bd2b3bf710e6a81" + integrity sha512-PTY6PrHAusAnU70oTRPk+tRQ4Nac8isg3nXXoe6y5F6rHrAZsSIYINk9bOfRo3MqW3e++qU0+AVd3niYydk3OQ== + dependencies: + "@endo/eventual-send" "^0.17.5" + "@endo/pass-style" "^0.1.6" + +"@endo/import-bundle@^0.2.45": + version "0.2.55" + resolved "https://registry.yarnpkg.com/@endo/import-bundle/-/import-bundle-0.2.55.tgz#4ad1012d15a2027992b2fc2a3848cbaa5bb5ff90" + integrity sha512-1t3AbhBSpb090+jSmta/2/PmkdSjXU3s0Pcdx/IQp2qcTqsrQDiCCZTdbZ24moxBGllAuTnPYTeA3jiu6/vdXA== + dependencies: + "@endo/base64" "^0.2.27" + "@endo/compartment-mapper" "^0.7.15" + +"@endo/import-bundle@^0.3.4": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@endo/import-bundle/-/import-bundle-0.3.5.tgz#b2b21f58c9fd077857754ccb7e9d0a91868de88d" + integrity sha512-jYBXGnvWhw4w/N8ZPGar+sftNg/wgI5mCCE0ooUYMUBvM5ulPHI+/KYW3FD9pSwU8h7d5Nvs3bvA4w6dN7b67A== + dependencies: + "@endo/base64" "^0.2.32" + "@endo/compartment-mapper" "^0.8.5" + +"@endo/init@^0.5.41", "@endo/init@^0.5.49", "@endo/init@^0.5.56", "@endo/init@^0.5.59": + version "0.5.59" + resolved "https://registry.yarnpkg.com/@endo/init/-/init-0.5.59.tgz#b4e5433f1d0e9cb49de3db48585642e946ed6299" + integrity sha512-F6+b1xUapQcsL4ALZTrM1fQJcbT+nbDLVq//6rH7ZVQGrXLOJK09ImOQVBm0YflVkfhu8UB6fk2YZQx+uaPwxw== + dependencies: + "@endo/base64" "^0.2.34" + "@endo/eventual-send" "^0.17.5" + "@endo/lockdown" "^0.1.31" + "@endo/promise-kit" "^0.2.59" + "@endo/init@^0.5.43": version "0.5.43" resolved "https://registry.yarnpkg.com/@endo/init/-/init-0.5.43.tgz#bf951ab5a7355661a0084a0e59cdc2d3bb0e3354" @@ -1436,25 +2413,68 @@ dependencies: ses "^0.15.17" -"@endo/marshal@^0.6.3": - version "0.6.3" - resolved "https://registry.yarnpkg.com/@endo/marshal/-/marshal-0.6.3.tgz#9a22b77acb3371f8fb7f33958c7781c792617e9b" - integrity sha512-3TxX93F/hIWGU4h+dR/I5dskH7iDhMhRFfWIrmGj8yMMq6rW9CtgdOy59GfaHBJ1YB70ZH4ULwb1Iir5Z2EcLw== +"@endo/lockdown@^0.1.28", "@endo/lockdown@^0.1.31": + version "0.1.31" + resolved "https://registry.yarnpkg.com/@endo/lockdown/-/lockdown-0.1.31.tgz#8921730896a3fdd8e079bf225f4cbf8751cd74a0" + integrity sha512-6pGdxCEF8+MOVX2weML+RMkzEwIv3hATa2CMZy8B7P2pakfIama6PoopraSzt9OB/S+o39GW3VLqwRWlGN/J+Q== + dependencies: + ses "^0.18.7" + +"@endo/marshal@^0.6.7": + version "0.6.9" + resolved "https://registry.yarnpkg.com/@endo/marshal/-/marshal-0.6.9.tgz#a30a323c86100512aba2c2c1f8ca2c7cf432c621" + integrity sha512-FH+Z76Hv+yoRmpoo3SZOTLfsqdMBhbqqUHD/UQ+38G91NN9g/NVRNObq25CkR/oU5EOlzdCxghL5L3H7tkXDCA== + dependencies: + "@endo/eventual-send" "^0.15.5" + "@endo/nat" "^4.1.14" + "@endo/promise-kit" "^0.2.43" + +"@endo/marshal@^0.8.2", "@endo/marshal@^0.8.5", "@endo/marshal@^0.8.6", "@endo/marshal@^0.8.8": + version "0.8.8" + resolved "https://registry.yarnpkg.com/@endo/marshal/-/marshal-0.8.8.tgz#d6e51a5c1c4c97f3904a8ee93bb352706391baa7" + integrity sha512-uoGF5Hwmne9y8eT73474YTLjfcvgWQD+9Iq5PrJSy+Ymek4VbOGNv12j5wvA0TTylbHlrakFv0fs7q10OV9B+Q== dependencies: - "@endo/eventual-send" "^0.14.8" - "@endo/nat" "^4.1.8" - "@endo/promise-kit" "^0.2.37" + "@endo/eventual-send" "^0.17.5" + "@endo/nat" "^4.1.30" + "@endo/pass-style" "^0.1.6" + "@endo/promise-kit" "^0.2.59" -"@endo/nat@^4.1.8": - version "4.1.8" - resolved "https://registry.yarnpkg.com/@endo/nat/-/nat-4.1.8.tgz#2c761c64f124cb610a63bded0c78a306678d6304" - integrity sha512-KwNkmw2tS8rDs0V3Q/cgje6JNg2AarSjFimT/hchcxz4BMBHS5mI486/W9QC3yQcxkidqX7GX3sYcD18xu5tBA== +"@endo/nat@^4.1.12", "@endo/nat@^4.1.14", "@endo/nat@^4.1.24", "@endo/nat@^4.1.27", "@endo/nat@^4.1.30": + version "4.1.30" + resolved "https://registry.yarnpkg.com/@endo/nat/-/nat-4.1.30.tgz#a52137e4d9dc159dc01f146a3506e7de3cb912f2" + integrity sha512-UN8obyLCGrG4vvEX+LV8ZOQMfwVDDA6z6mnvBRyZXbl+GwAs8QXa7vi9NiscidyCTvxad7jjfuf7IIqlIZUTQg== "@endo/netstring@^0.2.8": version "0.2.13" resolved "https://registry.yarnpkg.com/@endo/netstring/-/netstring-0.2.13.tgz#de0742010998eb373a4ab0a011f1c7a769838075" integrity sha512-+Q0pAg+3oA2ZlKth3k7BD+bhKMmVHfcHSWcBiCVg7LFVzrOIiltI9bEk7TJaGSWHTarUoR+vAPZwL/GULan15g== +"@endo/netstring@^0.3.19", "@endo/netstring@^0.3.26": + version "0.3.29" + resolved "https://registry.yarnpkg.com/@endo/netstring/-/netstring-0.3.29.tgz#7519e1e410aa3af7f866260813b410dd2982f8a2" + integrity sha512-KD4gWQdCTPcSb2QWKl4QPfXcvACGbpuJsAT0rUg5u0S5qBzihFkECF0Oghmfwqs7Mbms4SmVDWL2Rxtkl66t9Q== + dependencies: + "@endo/init" "^0.5.59" + "@endo/stream" "^0.3.28" + ses "^0.18.7" + +"@endo/pass-style@^0.1.3", "@endo/pass-style@^0.1.6": + version "0.1.6" + resolved "https://registry.yarnpkg.com/@endo/pass-style/-/pass-style-0.1.6.tgz#eb554b6c1b4ff3a4e55a8f3c612866bf27e91b76" + integrity sha512-SkRFW0FqBjjVagBDyhlGr7GmDFtVqZYhH4rN+YBtIjciFugmMT5p8gdnTnns3AUnurBSHH55MjKXIOzJNL+Txw== + dependencies: + "@endo/promise-kit" "^0.2.59" + "@fast-check/ava" "^1.1.5" + +"@endo/patterns@^0.2.2", "@endo/patterns@^0.2.3", "@endo/patterns@^0.2.5": + version "0.2.5" + resolved "https://registry.yarnpkg.com/@endo/patterns/-/patterns-0.2.5.tgz#84fae7cd78ea641b2c20549a19b101ad04ef2bde" + integrity sha512-oJATZDCNPR2FzbzrRM1GlH1E8dZe6j5zAVdhQPCcaVmlyZd66YVEnm4VaoI6EV+LGPclAoMFq2uHn9/npysxdQ== + dependencies: + "@endo/eventual-send" "^0.17.5" + "@endo/marshal" "^0.8.8" + "@endo/promise-kit" "^0.2.59" + "@endo/promise-kit@^0.2.37": version "0.2.37" resolved "https://registry.yarnpkg.com/@endo/promise-kit/-/promise-kit-0.2.37.tgz#ef1506a953bbbb02793a33c7f22a6ac07783bea6" @@ -1462,6 +2482,13 @@ dependencies: ses "^0.15.11" +"@endo/promise-kit@^0.2.41", "@endo/promise-kit@^0.2.49", "@endo/promise-kit@^0.2.53", "@endo/promise-kit@^0.2.56", "@endo/promise-kit@^0.2.59": + version "0.2.59" + resolved "https://registry.yarnpkg.com/@endo/promise-kit/-/promise-kit-0.2.59.tgz#93f61a709660252c541e9ecaf7c138f1cf279f9a" + integrity sha512-l4KK3CE4gb0cqPA2u9Agh+7yIbsExO10eJbnWKDgN9FC6b1oaZPL9NdXf3kOhSjH1OFCPHtc+whH9uMNV9e+KQ== + dependencies: + ses "^0.18.7" + "@endo/promise-kit@^0.2.43": version "0.2.43" resolved "https://registry.yarnpkg.com/@endo/promise-kit/-/promise-kit-0.2.43.tgz#d4c563124c3ce35843492cbbf7fe7568a7693b1f" @@ -1498,11 +2525,61 @@ "@babel/types" "^7.17.0" ses "^0.15.11" +"@endo/static-module-record@^0.7.14", "@endo/static-module-record@^0.7.20": + version "0.7.20" + resolved "https://registry.yarnpkg.com/@endo/static-module-record/-/static-module-record-0.7.20.tgz#5d9583aaa8042b8a6de58c72f765e5a28e880489" + integrity sha512-qpow712L7Bh7F3olFW9e15PcDWnC2eSY4xPdhpZoYTzedsyjCETRgxFWY6+DdT193lNlyKIn0On1O1Go+5WmBA== + dependencies: + "@agoric/babel-generator" "^7.17.6" + "@babel/parser" "^7.17.3" + "@babel/traverse" "^7.17.3" + "@babel/types" "^7.17.0" + ses "^0.18.5" + +"@endo/static-module-record@^0.8.1": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@endo/static-module-record/-/static-module-record-0.8.1.tgz#cf1900b66a92aa0a46584486e778351483102153" + integrity sha512-F2x+jALc286VQ7xfd0LXYyo+PwHR46dolmuMLOC7MkpPHVT323jH6n29U6unIEFTqknhVB6gHXIwuwGD4mzSWQ== + dependencies: + "@agoric/babel-generator" "^7.17.6" + "@babel/parser" "^7.17.3" + "@babel/traverse" "^7.17.3" + "@babel/types" "^7.17.0" + ses "^0.18.7" + +"@endo/stream-node@^0.2.19", "@endo/stream-node@^0.2.26": + version "0.2.29" + resolved "https://registry.yarnpkg.com/@endo/stream-node/-/stream-node-0.2.29.tgz#b006afd648f5ae079e6d333b9679edb13c11d8be" + integrity sha512-wL8io8Y106f15CsV/cBdlgZjkK7a8NFlR+o0jalwILHErFg7foTKPGqK5lb+tuNue6vaheC/QXNGG5/nWx4u7g== + dependencies: + "@endo/init" "^0.5.59" + "@endo/stream" "^0.3.28" + ses "^0.18.7" + +"@endo/stream@^0.3.18", "@endo/stream@^0.3.25", "@endo/stream@^0.3.28": + version "0.3.28" + resolved "https://registry.yarnpkg.com/@endo/stream/-/stream-0.3.28.tgz#755bbdbf1fd8d31a9ad80a8b5fcc20ba37535c64" + integrity sha512-zlSm7KlMxVDal2Ob6pazjZ7vRTFgQxwSSiAeLJMM7tlBPL28G28MJfcPAMFKtcN+jknW1MXcHDmjzMo4kJuUiA== + dependencies: + "@endo/eventual-send" "^0.17.5" + "@endo/promise-kit" "^0.2.59" + ses "^0.18.7" + +"@endo/where@^0.3.4": + version "0.3.4" + resolved "https://registry.yarnpkg.com/@endo/where/-/where-0.3.4.tgz#af8f5cd8140e376a881e08e522359aa18ab162e5" + integrity sha512-v4jTUPJwjYY2EUBG1hzwhzFywsTejMPr1hDSQevCVVzK8HnSzHch0AeUciBSo+/2+iM8JTstF1TLlLq0n5YQmw== + "@endo/zip@^0.2.11", "@endo/zip@^0.2.21": version "0.2.21" resolved "https://registry.yarnpkg.com/@endo/zip/-/zip-0.2.21.tgz#98ac48439ebb8bb146b7c4488633d975a42fda2d" integrity sha512-YtvksxnEAQjh+7IrwZS87n5oNiY5tv2W9W56AOCBAazlG+yPmwITVm8zQYuXlc3P1Nl2BqKzC4Xw4SfbbCtzzw== +"@endo/zip@^0.2.25", "@endo/zip@^0.2.27", "@endo/zip@^0.2.31", "@endo/zip@^0.2.32", "@endo/zip@^0.2.34": + version "0.2.34" + resolved "https://registry.yarnpkg.com/@endo/zip/-/zip-0.2.34.tgz#d5571ef91019a647f64e69b003a0e3fb23de827d" + integrity sha512-ty6zqDLF3HZyc5Icq0/d93snpNBJsdqIeb8GcbDWxwHBhczmJoTPu0YOnWPtNgkE8bqi+2zhibmdS9kdn7M1Ew== + "@es-joy/jsdoccomment@^0.8.0-alpha.2": version "0.8.0-alpha.2" resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.8.0-alpha.2.tgz#78585147d8e6231270374dae528fe5b7b5587b5a" @@ -1527,6 +2604,13 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" +"@fast-check/ava@^1.1.3", "@fast-check/ava@^1.1.5": + version "1.1.5" + resolved "https://registry.yarnpkg.com/@fast-check/ava/-/ava-1.1.5.tgz#b471ce5252a3d62eb9bc316f1b7b0a79a7c8341f" + integrity sha512-OopAjw8v6r3sEqR02O61r2yGoE4B1nWDRXAkB4tuK/v7qemkf86Fz+GRgBgAkSFql85VAeUq+wlx0F3Y7wJzzA== + dependencies: + fast-check "^3.0.0" + "@iarna/toml@^2.2.3": version "2.2.5" resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.5.tgz#b32366c89b43c6f8cefbdefac778b9c828e3ba8c" @@ -1545,6 +2629,11 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" +"@noble/hashes@^1", "@noble/hashes@^1.0.0": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.1.tgz#8831ef002114670c603c458ab8b11328406953a9" + integrity sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA== + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -1585,6 +2674,11 @@ dependencies: "@opentelemetry/context-base" "^0.16.0" +"@opentelemetry/api@^1.0.0": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.4.1.tgz#ff22eb2e5d476fbc2450a196e40dd243cc20c28f" + integrity sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA== + "@opentelemetry/context-base@^0.16.0": version "0.16.0" resolved "https://registry.yarnpkg.com/@opentelemetry/context-base/-/context-base-0.16.0.tgz#f41ca27221f31247e8bccfdde87a5cbfd9b57679" @@ -1599,6 +2693,13 @@ "@opentelemetry/context-base" "^0.16.0" semver "^7.1.3" +"@opentelemetry/core@^1.14.0": + version "1.15.2" + resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.15.2.tgz#5b170bf223a2333884bbc2d29d95812cdbda7c9f" + integrity sha512-+gBv15ta96WqkHZaPpcDHiaz0utiiHZVfm2YOYSqFGrUaJpPkMoSuLBB58YFQGi6Rsb9EHos84X6X5+9JspmLw== + dependencies: + "@opentelemetry/semantic-conventions" "1.15.2" + "@opentelemetry/exporter-prometheus@^0.16.0": version "0.16.0" resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-prometheus/-/exporter-prometheus-0.16.0.tgz#2623568ba520975d9441b5047f9c48554005efb6" @@ -1628,6 +2729,64 @@ "@opentelemetry/api" "^0.16.0" "@opentelemetry/core" "^0.16.0" +"@opentelemetry/semantic-conventions@1.15.2": + version "1.15.2" + resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.15.2.tgz#3bafb5de3e20e841dff6cb3c66f4d6e9694c4241" + integrity sha512-CjbOKwk2s+3xPIMcd5UNYQzsf+v94RczbdNix9/kQh38WiQkM90sUOi3if8eyHFgiBjBjhwXrA7W3ydiSQP9mw== + +"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" + integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== + +"@protobufjs/base64@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" + integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== + +"@protobufjs/codegen@^2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" + integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== + +"@protobufjs/eventemitter@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" + integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== + +"@protobufjs/fetch@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" + integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== + dependencies: + "@protobufjs/aspromise" "^1.1.1" + "@protobufjs/inquire" "^1.1.0" + +"@protobufjs/float@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" + integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== + +"@protobufjs/inquire@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" + integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== + +"@protobufjs/path@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" + integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== + +"@protobufjs/pool@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" + integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== + +"@protobufjs/utf8@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" + integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== + "@rollup/plugin-commonjs@^19.0.0": version "19.0.2" resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-19.0.2.tgz#1ccc3d63878d1bc9846f8969f09dd3b3e4ecc244" @@ -1715,6 +2874,11 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= +"@types/long@^4.0.1": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" + integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== + "@types/minimatch@*": version "3.0.4" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.4.tgz#f0ec25dbf2f0e4b18647313ac031134ca5b24b21" @@ -1725,6 +2889,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-15.12.1.tgz#9b60797dee1895383a725f828a869c86c6caa5c2" integrity sha512-zyxJM8I1c9q5sRMtVF+zdd13Jt6RU4r4qfhTd7lQubyThvLfx6yYekWSQjGCGV2Tkecgxnlpl/DNlb6Hg+dmEw== +"@types/node@>=13.7.0": + version "20.5.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.5.1.tgz#178d58ee7e4834152b0e8b4d30cbfab578b9bb30" + integrity sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg== + "@types/q@^1.5.1": version "1.5.4" resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" @@ -1737,6 +2906,11 @@ dependencies: "@types/node" "*" +"@types/triple-beam@^1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@types/triple-beam/-/triple-beam-1.3.2.tgz#38ecb64f01aa0d02b7c8f4222d7c38af6316fef8" + integrity sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g== + "@typescript-eslint/parser@^4.26.0": version "4.26.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.26.0.tgz#31b6b732c9454f757b020dab9b6754112aa5eeaf" @@ -2224,6 +3398,11 @@ accepts@~1.3.8: mime-types "~2.1.34" negotiator "0.6.3" +acorn-import-assertions@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" + integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== + acorn-jsx@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" @@ -2254,6 +3433,11 @@ acorn@^8.7.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== +acorn@^8.8.2: + version "8.10.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" + integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== + agentkeepalive@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-2.2.0.tgz#c5d1bd4b129008f1163f236f86e5faea2026e2ef" @@ -2298,6 +3482,52 @@ agoric@^0.13.21: opener "^1.5.2" ws "^7.2.0" +agoric@^0.21.1: + version "0.21.1" + resolved "https://registry.yarnpkg.com/agoric/-/agoric-0.21.1.tgz#dbe04757c6deba83dd45cbd39e10eeaa26e8c7de" + integrity sha512-couQBRaYLY9S5cXm0uUmf/022+Zy6EHH9tbZLOFYGzdFQeTMZCvYbxdklKGVzLWcoe8CHc/YMemnpaBghkPG4A== + dependencies: + "@agoric/access-token" "^0.4.21" + "@agoric/assert" "^0.6.0" + "@agoric/cache" "^0.3.2" + "@agoric/casting" "^0.4.2" + "@agoric/cosmic-proto" "^0.3.0" + "@agoric/ertp" "^0.16.2" + "@agoric/inter-protocol" "^0.16.1" + "@agoric/internal" "^0.3.2" + "@agoric/smart-wallet" "^0.5.3" + "@agoric/store" "^0.9.2" + "@agoric/swingset-vat" "^0.32.2" + "@agoric/vats" "^0.15.1" + "@agoric/zoe" "^0.26.2" + "@agoric/zone" "^0.2.2" + "@confio/relayer" "^0.9.0" + "@cosmjs/crypto" "^0.30.1" + "@cosmjs/encoding" "^0.30.1" + "@cosmjs/math" "^0.30.1" + "@cosmjs/proto-signing" "^0.30.1" + "@cosmjs/stargate" "^0.30.1" + "@cosmjs/tendermint-rpc" "^0.30.1" + "@endo/bundle-source" "^2.5.1" + "@endo/captp" "^3.1.1" + "@endo/compartment-mapper" "^0.8.4" + "@endo/far" "^0.2.18" + "@endo/init" "^0.5.56" + "@endo/marshal" "^0.8.5" + "@endo/nat" "^4.1.27" + "@endo/promise-kit" "^0.2.56" + "@iarna/toml" "^2.2.3" + anylogger "^0.21.0" + chalk "^5.2.0" + commander "^10.0.0" + dd-trace "^3.3.0" + deterministic-json "^1.0.5" + esm agoric-labs/esm#Agoric-built + inquirer "^8.2.2" + opener "^1.5.2" + tmp "^0.2.1" + ws "^7.2.0" + ajv-errors@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" @@ -2308,6 +3538,16 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== +ajv@7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.1.1.tgz#1e6b37a454021fa9941713f38b952fc1c8d32a84" + integrity sha512-ga/aqDYnUy/o7vbsRTFhhTsNeXiYb5JWDIcRIeZfwRNCefwjNTVYCGdGSUrEmiu3yDK3vFvNbgJxvrQW4JXrYQ== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" @@ -2376,7 +3616,7 @@ ansi-escapes@^3.2.0: resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== -ansi-escapes@^4.1.0: +ansi-escapes@^4.1.0, ansi-escapes@^4.2.1: version "4.3.2" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== @@ -2442,6 +3682,11 @@ ansi-styles@^6.0.0, ansi-styles@^6.1.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.1.0.tgz#87313c102b8118abd57371afab34618bf7350ed3" integrity sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ== +ansi-styles@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + anylogger@^0.21.0: version "0.21.0" resolved "https://registry.yarnpkg.com/anylogger/-/anylogger-0.21.0.tgz#b6cbea631cd5e1c884e5c0fa007d80bde1b22bd4" @@ -2483,6 +3728,11 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" @@ -2629,6 +3879,11 @@ async@^2.6.2: dependencies: lodash "^4.17.14" +async@^3.1.0: + version "3.2.4" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" + integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== + asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -2720,6 +3975,13 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== +axios@0.21.4, axios@^0.21.2: + version "0.21.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" + integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== + dependencies: + follow-redirects "^1.14.0" + babel-eslint@^10.0.3: version "10.1.0" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" @@ -2778,7 +4040,7 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base64-js@^1.0.2, base64-js@^1.3.1: +base64-js@^1.0.2, base64-js@^1.3.0, base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== @@ -2815,6 +4077,11 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" +bech32@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" + integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== + better-sqlite3@^7.4.1: version "7.5.0" resolved "https://registry.yarnpkg.com/better-sqlite3/-/better-sqlite3-7.5.0.tgz#2a91cb616453f002096743b0e5b66a7021cd1c63" @@ -2823,6 +4090,22 @@ better-sqlite3@^7.4.1: bindings "^1.5.0" prebuild-install "^7.0.0" +better-sqlite3@^7.5.0: + version "7.6.2" + resolved "https://registry.yarnpkg.com/better-sqlite3/-/better-sqlite3-7.6.2.tgz#47cd8cad5b9573cace535f950ac321166bc31384" + integrity sha512-S5zIU1Hink2AH4xPsN0W43T1/AJ5jrPh7Oy07ocuW/AKYYY02GWzz9NH0nbSMn/gw6fDZ5jZ1QsHt1BXAwJ6Lg== + dependencies: + bindings "^1.5.0" + prebuild-install "^7.1.0" + +better-sqlite3@^8.2.0: + version "8.5.1" + resolved "https://registry.yarnpkg.com/better-sqlite3/-/better-sqlite3-8.5.1.tgz#984f7645303afa76289569804ee56e211d8ffa66" + integrity sha512-aDfC67xfll6bugnOqRJhdUWioQZnkhLkrwZ+oo6yZbNMtyktbwkDO4SfBcCVWbm4BlsCjCNTJchlHaBt+vB4Iw== + dependencies: + bindings "^1.5.0" + prebuild-install "^7.1.0" + big.js@^3.1.3: version "3.2.0" resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" @@ -2850,7 +4133,12 @@ bindings@^1.2.1, bindings@^1.5.0: dependencies: file-uri-to-path "1.0.0" -bl@^4.0.3: +bintrees@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bintrees/-/bintrees-1.0.2.tgz#49f896d6e858a4a499df85c38fb399b9aff840f8" + integrity sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw== + +bl@^4.0.3, bl@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== @@ -2879,6 +4167,11 @@ bn.js@^5.0.0, bn.js@^5.1.1: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== +bn.js@^5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + body-parser@1.20.1: version "1.20.1" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" @@ -3307,11 +4600,24 @@ chalk@^4.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +chalk@^4.1.0, chalk@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + chalk@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.0.1.tgz#ca57d71e82bb534a296df63bbacc4a1c22b2a4b6" integrity sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w== +chalk@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" + integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== + chardet@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" @@ -3420,6 +4726,11 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: inherits "^2.0.1" safe-buffer "^5.0.1" +cjs-module-lexer@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" + integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== + class-utils@^0.3.5: version "0.3.6" resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" @@ -3466,6 +4777,18 @@ cli-cursor@^2.1.0: dependencies: restore-cursor "^2.0.0" +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-spinners@^2.5.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.0.tgz#5881d0ad96381e117bbe07ad91f2008fe6ffd8db" + integrity sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g== + cli-truncate@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389" @@ -3479,6 +4802,11 @@ cli-width@^2.0.0: resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + cliui@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" @@ -3504,6 +4832,11 @@ clone-response@^1.0.2: dependencies: mimic-response "^1.0.0" +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== + coa@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" @@ -3533,7 +4866,7 @@ collection-visit@^1.0.0: map-visit "^1.0.0" object-visit "^1.0.0" -color-convert@^1.9.0, color-convert@^1.9.1: +color-convert@^1.9.0, color-convert@^1.9.1, color-convert@^1.9.3: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== @@ -3565,6 +4898,14 @@ color-string@^1.5.4: color-name "^1.0.0" simple-swizzle "^0.2.2" +color-string@^1.6.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4" + integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + color@^3.0.0: version "3.1.3" resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" @@ -3573,11 +4914,27 @@ color@^3.0.0: color-convert "^1.9.1" color-string "^1.5.4" +color@^3.1.3: + version "3.2.1" + resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164" + integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA== + dependencies: + color-convert "^1.9.3" + color-string "^1.6.0" + colorette@^1.2.1, colorette@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== +colorspace@1.1.x: + version "1.1.4" + resolved "https://registry.yarnpkg.com/colorspace/-/colorspace-1.1.4.tgz#8d442d1186152f60453bf8070cd66eb364e59243" + integrity sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w== + dependencies: + color "^3.1.3" + text-hex "1.0.x" + combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -3590,6 +4947,16 @@ commander@2.17.x: resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== +commander@7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.1.0.tgz#f2eaecf131f10e36e07d894698226e36ae0eb5ff" + integrity sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg== + +commander@^10.0.0: + version "10.0.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" + integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== + commander@^2.19.0, commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" @@ -3820,6 +5187,14 @@ cosmiconfig@^5.0.0: js-yaml "^3.13.1" parse-json "^4.0.0" +cosmjs-types@^0.7.1: + version "0.7.2" + resolved "https://registry.yarnpkg.com/cosmjs-types/-/cosmjs-types-0.7.2.tgz#a757371abd340949c5bd5d49c6f8379ae1ffd7e2" + integrity sha512-vf2uLyktjr/XVAgEq0DjMxeAWh1yYREe7AMHDKd7EiHVqxBPCaBS+qEEQUkXbR9ndnckqr1sUG8BQhazh4X5lA== + dependencies: + long "^4.0.0" + protobufjs "~6.11.2" + create-ecdh@^4.0.0: version "4.0.4" resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" @@ -3893,6 +5268,11 @@ crypto-random-string@^2.0.0: resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== +crypto-randomuuid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/crypto-randomuuid/-/crypto-randomuuid-1.0.0.tgz#acf583e5e085e867ae23e107ff70279024f9e9e7" + integrity sha512-/RC5F4l1SCqD/jazwUF6+t34Cd8zTSAGZ7rvvZu1whZUhD2a5MOGKjSGowoGcpj/cbVZk1ZODIooJEQQq3nNAA== + css-color-names@0.0.4, css-color-names@^0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" @@ -4082,6 +5462,43 @@ date-time@^3.1.0: dependencies: time-zone "^1.0.0" +dd-trace@^3.3.0: + version "3.33.0" + resolved "https://registry.yarnpkg.com/dd-trace/-/dd-trace-3.33.0.tgz#d541cdae130cacbe6730d0100d91043e60aa84c4" + integrity sha512-ed7XMiWVAfF51V6dGwPA6TlhTIPUMxE62arc4U2SzS6n0B41tZHpc0n53NnfdaBnDp19epIgbtHdCm3sT00SJg== + dependencies: + "@datadog/native-appsec" "^3.2.0" + "@datadog/native-iast-rewriter" "2.0.1" + "@datadog/native-iast-taint-tracking" "1.5.0" + "@datadog/native-metrics" "^2.0.0" + "@datadog/pprof" "3.1.0" + "@datadog/sketches-js" "^2.1.0" + "@opentelemetry/api" "^1.0.0" + "@opentelemetry/core" "^1.14.0" + crypto-randomuuid "^1.0.0" + diagnostics_channel "^1.1.0" + ignore "^5.2.4" + import-in-the-middle "^1.4.2" + int64-buffer "^0.1.9" + ipaddr.js "^2.1.0" + istanbul-lib-coverage "3.2.0" + koalas "^1.0.2" + limiter "^1.1.4" + lodash.kebabcase "^4.1.1" + lodash.pick "^4.4.0" + lodash.sortby "^4.7.0" + lodash.uniq "^4.5.0" + lru-cache "^7.14.0" + methods "^1.1.2" + module-details-from-path "^1.0.3" + msgpack-lite "^0.1.26" + node-abort-controller "^3.1.1" + opentracing ">=0.12.1" + path-to-regexp "^0.1.2" + protobufjs "^7.2.4" + retry "^0.13.1" + semver "^7.5.4" + de-indent@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" @@ -4186,6 +5603,13 @@ default-gateway@^4.2.0: execa "^1.0.0" ip-regex "^2.1.0" +defaults@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== + dependencies: + clone "^1.0.2" + defer-to-connect@^1.0.1: version "1.1.3" resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" @@ -4255,6 +5679,11 @@ del@^6.1.1: rimraf "^3.0.2" slash "^3.0.0" +delay@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" + integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -4293,6 +5722,11 @@ detect-libc@^1.0.3: resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= +detect-libc@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.2.tgz#8ccf2ba9315350e1241b88d0ac3b0e1fbd99605d" + integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== + detect-node@^2.0.4: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" @@ -4310,6 +5744,11 @@ diacritics@^1.3.0: resolved "https://registry.yarnpkg.com/diacritics/-/diacritics-1.3.0.tgz#3efa87323ebb863e6696cebb0082d48ff3d6f7a1" integrity sha1-PvqHMj67hj5mls67AILUj/PW96E= +diagnostics_channel@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/diagnostics_channel/-/diagnostics_channel-1.1.0.tgz#bd66c49124ce3bac697dff57466464487f57cea5" + integrity sha512-OE1ngLDjSBPG6Tx0YATELzYzy3RKHC+7veQ8gLa8yS7AAgw65mFbVdcsu3501abqOZCEZqZyAIemB0zXlqDSuw== + diffie-hellman@^5.0.0: version "5.0.3" resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" @@ -4475,7 +5914,7 @@ electron-to-chromium@^1.3.723: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.749.tgz#0ecebc529ceb49dd2a7c838ae425236644c3439a" integrity sha512-F+v2zxZgw/fMwPz/VUGIggG4ZndDsYy0vlpthi3tjmDZlcfbhN5mYW0evXUsBr2sUtuDANFtle410A9u/sd/4A== -elliptic@^6.5.3: +elliptic@^6.5.3, elliptic@^6.5.4: version "6.5.4" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== @@ -4518,6 +5957,11 @@ emojis-list@^3.0.0: resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== +enabled@2.0.x: + version "2.0.0" + resolved "https://registry.yarnpkg.com/enabled/-/enabled-2.0.0.tgz#f9dd92ec2d6f4bbc0d5d1e64e21d61cd4665e7c2" + integrity sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ== + encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" @@ -4894,6 +6338,11 @@ estraverse@^5.1.0, estraverse@^5.2.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== +estree-walker@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" + integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== + estree-walker@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" @@ -4914,6 +6363,11 @@ etag@~1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= +event-lite@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/event-lite/-/event-lite-0.1.3.tgz#3dfe01144e808ac46448f0c19b4ab68e403a901d" + integrity sha512-8qz9nOz5VeD2z96elrEKD2U433+L3DWdUdDkOINLGOJvx1GsMBbMn0aCeu28y8/e85A6mCigBiFlYMnTBEGlSw== + eventemitter3@^4.0.0: version "4.0.7" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" @@ -5063,6 +6517,13 @@ extsprintf@^1.2.0: resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= +fast-check@^3.0.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/fast-check/-/fast-check-3.12.0.tgz#440949277387a053f7f82cd532fa3fcf67346ba1" + integrity sha512-SqahE9mlL3+lhjJ39joMLwcj6F+24hfZdf/tchlNO8sHcTdrUUdA5P/ZbSFZM9Xpzs36XaneGwE0FWepm/zyOA== + dependencies: + pure-rand "^6.0.0" + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -5118,6 +6579,11 @@ fast-levenshtein@^2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= +fast-safe-stringify@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.4.tgz#4fe828718aa61dbcf9119c3c24e79cc4dea973b2" + integrity sha512-mNlGUdKOeGNleyrmgbKYtbnCr9KZkZXU7eM89JRo8vY10f7Ul1Fbj07hUBW3N4fC0xM+fmfFfa2zM7mIizhpNQ== + fastq@^1.6.0: version "1.11.0" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" @@ -5132,6 +6598,11 @@ faye-websocket@^0.11.3: dependencies: websocket-driver ">=0.5.1" +fecha@^4.2.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.3.tgz#4d9ccdbc61e8629b259fdca67e65891448d569fd" + integrity sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw== + figgy-pudding@^3.5.1: version "3.5.2" resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" @@ -5286,11 +6757,21 @@ flush-write-stream@^1.0.0: inherits "^2.0.3" readable-stream "^2.3.6" +fn.name@1.x.x: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fn.name/-/fn.name-1.1.0.tgz#26cad8017967aea8731bc42961d04a3d5988accc" + integrity sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw== + follow-redirects@^1.0.0: version "1.15.1" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5" integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA== +follow-redirects@^1.14.0: + version "1.15.2" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== + for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" @@ -5555,6 +7036,13 @@ globals@^13.6.0, globals@^13.9.0: dependencies: type-fest "^0.20.2" +globalthis@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + globby@^11.0.1, globby@^11.0.3: version "11.0.3" resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.3.tgz#9b1f0cb523e171dd1ad8c7b2a9fb4b644b9593cb" @@ -5966,7 +7454,7 @@ icss-utils@^4.1.0: dependencies: postcss "^7.0.14" -ieee754@^1.1.13, ieee754@^1.1.4: +ieee754@^1.1.13, ieee754@^1.1.4, ieee754@^1.1.8: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== @@ -5996,6 +7484,11 @@ ignore@^5.0.5, ignore@^5.1.4, ignore@^5.2.0: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== +ignore@^5.2.4: + version "5.2.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + immediate@^3.2.3: version "3.3.0" resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.3.0.tgz#1aef225517836bcdf7f2a2de2600c79ff0269266" @@ -6031,6 +7524,16 @@ import-from@^2.1.0: dependencies: resolve-from "^3.0.0" +import-in-the-middle@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.4.2.tgz#2a266676e3495e72c04bbaa5ec14756ba168391b" + integrity sha512-9WOz1Yh/cvO/p69sxRmhyQwrIGGSp7EIdcb+fFNVi7CzQGQB8U1/1XrKVSbEd/GNOAeM0peJtmi7+qphe7NvAw== + dependencies: + acorn "^8.8.2" + acorn-import-assertions "^1.9.0" + cjs-module-lexer "^1.2.2" + module-details-from-path "^1.0.3" + import-lazy@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" @@ -6051,6 +7554,11 @@ import-meta-resolve@^1.1.1: dependencies: builtins "^4.0.0" +import-meta-resolve@^2.2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/import-meta-resolve/-/import-meta-resolve-2.2.2.tgz#75237301e72d1f0fbd74dbc6cca9324b164c2cc9" + integrity sha512-f8KcQ1D80V7RnqVm+/lirO9zkOxjGxhaTC1IPrBGd3MEfNgmNG67tSUO9gTi2F3Blr2Az6g1vocaxzkVnWl9MA== + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -6128,6 +7636,32 @@ inquirer@^6.3.1: strip-ansi "^5.1.0" through "^2.3.6" +inquirer@^8.2.2: + version "8.2.6" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.6.tgz#733b74888195d8d400a67ac332011b5fae5ea562" + integrity sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.1" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.21" + mute-stream "0.0.8" + ora "^5.4.1" + run-async "^2.4.0" + rxjs "^7.5.5" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + wrap-ansi "^6.0.1" + +int64-buffer@^0.1.9: + version "0.1.10" + resolved "https://registry.yarnpkg.com/int64-buffer/-/int64-buffer-0.1.10.tgz#277b228a87d95ad777d07c13832022406a473423" + integrity sha512-v7cSY1J8ydZ0GyjUHqF+1bshJ6cnEVLo9EnjB8p+4HDRPZc9N5jjmvUV7NvEsqQOKyH0pmIBFWXVQbiS0+OBbA== + internal-ip@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" @@ -6160,6 +7694,11 @@ ipaddr.js@1.9.1, ipaddr.js@^1.9.0: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== +ipaddr.js@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.1.0.tgz#2119bc447ff8c257753b196fc5f1ce08a4cdf39f" + integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== + irregular-plurals@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-3.3.0.tgz#67d0715d4361a60d9fd9ee80af3881c631a31ee2" @@ -6395,6 +7934,11 @@ is-installed-globally@^0.3.1: global-dirs "^2.0.1" is-path-inside "^3.0.1" +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + is-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" @@ -6523,6 +8067,11 @@ is-stream@^1.1.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + is-string@^1.0.5, is-string@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.6.tgz#3fe5d5992fb0d93404f32584d4b0179a71b54a5f" @@ -6547,6 +8096,11 @@ is-typedarray@^1.0.0, is-typedarray@~1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + is-unicode-supported@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-1.2.0.tgz#f4f54f34d8ebc84a46b93559a036763b6d3e1014" @@ -6601,12 +8155,17 @@ isobject@^3.0.0, isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= +isomorphic-ws@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" + integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== + isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.0.1: +istanbul-lib-coverage@3.2.0, istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.0.1: version "3.2.0" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== @@ -6638,6 +8197,13 @@ javascript-stringify@^2.0.1: resolved "https://registry.yarnpkg.com/javascript-stringify/-/javascript-stringify-2.1.0.tgz#27c76539be14d8bd128219a2d731b09337904e79" integrity sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg== +jessie.js@^0.3.2: + version "0.3.3" + resolved "https://registry.yarnpkg.com/jessie.js/-/jessie.js-0.3.3.tgz#c79a8b1f105b41f4e5a278f8dc67339c273b5900" + integrity sha512-qtm2JSB/ZeH9xNNPjVkeTFH+Hoq9BxAzakgf6WK1PLarIoXJ9roSi+Z5UF65K47rT7QteWrP8b6RPBVquvIwsg== + dependencies: + "@endo/far" "^0.2.3" + js-string-escape@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz#e2625badbc0d67c7533e9edc1068c587ae4137ef" @@ -6648,6 +8214,13 @@ js-tokens@^4.0.0: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== +js-yaml@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.0.0.tgz#f426bc0ff4b4051926cd588c71113183409a121f" + integrity sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q== + dependencies: + argparse "^2.0.1" + js-yaml@^3.13.1, js-yaml@^3.14.1: version "3.14.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" @@ -6805,6 +8378,16 @@ kind-of@^6.0.0, kind-of@^6.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== +koalas@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/koalas/-/koalas-1.0.2.tgz#318433f074235db78fae5661a02a8ca53ee295cd" + integrity sha512-RYhBbYaTTTHId3l6fnMZc3eGQNW6FVCqMG6AMwA5I1Mafr6AflaXeoi6x3xQuATRotGYRLk6+1ELZH4dstFNOA== + +kuler@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/kuler/-/kuler-2.0.0.tgz#e2c570a3800388fb44407e851531c1d670b061b3" + integrity sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A== + last-call-webpack-plugin@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" @@ -6828,6 +8411,23 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" +libsodium-wrappers@^0.7.6: + version "0.7.11" + resolved "https://registry.yarnpkg.com/libsodium-wrappers/-/libsodium-wrappers-0.7.11.tgz#53bd20606dffcc54ea2122133c7da38218f575f7" + integrity sha512-SrcLtXj7BM19vUKtQuyQKiQCRJPgbpauzl3s0rSwD+60wtHqSUuqcoawlMDheCJga85nKOQwxNYQxf/CKAvs6Q== + dependencies: + libsodium "^0.7.11" + +libsodium@^0.7.11: + version "0.7.11" + resolved "https://registry.yarnpkg.com/libsodium/-/libsodium-0.7.11.tgz#cd10aae7bcc34a300cc6ad0ac88fcca674cfbc2e" + integrity sha512-WPfJ7sS53I2s4iM58QxY3Inb83/6mjlYgcmZs7DJsvDlnmVUwNinBCi5vBT43P6bHRy01O4zsMU2CoVR6xJ40A== + +limiter@^1.1.4: + version "1.1.5" + resolved "https://registry.yarnpkg.com/limiter/-/limiter-1.1.5.tgz#8f92a25b3b16c6131293a0cc834b4a838a2aa7c2" + integrity sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA== + linkify-it@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.2.0.tgz#e3b54697e78bf915c70a38acd78fd09e0058b1cf" @@ -6941,6 +8541,16 @@ lodash.merge@^4.6.2: resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== +lodash.pick@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" + integrity sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q== + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== + lodash.template@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" @@ -6966,16 +8576,46 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.17.5: +lodash@4.17.21, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.17.5: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== +log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +logform@^2.2.0, logform@^2.3.2: + version "2.5.1" + resolved "https://registry.yarnpkg.com/logform/-/logform-2.5.1.tgz#44c77c34becd71b3a42a3970c77929e52c6ed48b" + integrity sha512-9FyqAm9o9NKKfiAKfZoYo9bGXXuwMkxQiQttkT4YjjVtQVIQtK6LmVtlxmCaFswo6N4AfEkHqZTV0taDtPotNg== + dependencies: + "@colors/colors" "1.5.0" + "@types/triple-beam" "^1.3.2" + fecha "^4.2.0" + ms "^2.1.1" + safe-stable-stringify "^2.3.1" + triple-beam "^1.3.0" + loglevel@^1.6.8: version "1.7.1" resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.1.tgz#005fde2f5e6e47068f935ff28573e125ef72f197" integrity sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw== +long@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" + integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== + +long@^5.0.0: + version "5.2.3" + resolved "https://registry.yarnpkg.com/long/-/long-5.2.3.tgz#a3ba97f3877cf1d778eccbcb048525ebb77499e1" + integrity sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q== + lower-case@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" @@ -7013,6 +8653,11 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +lru-cache@^7.14.0: + version "7.18.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" + integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== + magic-string@^0.25.7: version "0.25.7" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" @@ -7176,7 +8821,7 @@ merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -methods@~1.1.2: +methods@^1.1.2, methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= @@ -7216,6 +8861,14 @@ micromatch@^4.0.4: braces "^3.0.2" picomatch "^2.3.1" +microtime@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/microtime/-/microtime-3.1.1.tgz#f3ce12f4091c55fb2982c87205e2e7698afdcd0c" + integrity sha512-to1r7o24cDsud9IhN6/8wGmMx5R2kT0w2Xwm5okbYI3d1dk6Xv0m+Z+jg2vS9pt+ocgQHTCtgs/YuyJhySzxNg== + dependencies: + node-addon-api "^5.0.0" + node-gyp-build "^4.4.0" + miller-rabin@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" @@ -7263,6 +8916,11 @@ mimic-fn@^1.0.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + mimic-fn@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" @@ -7363,6 +9021,11 @@ mkdirp@~1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== +module-details-from-path@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b" + integrity sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A== + morgan@^1.9.1: version "1.10.0" resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.10.0.tgz#091778abc1fc47cd3509824653dae1faab6b17d7" @@ -7401,6 +9064,16 @@ ms@2.1.3, ms@^2.1.1, ms@^2.1.3: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== +msgpack-lite@^0.1.26: + version "0.1.26" + resolved "https://registry.yarnpkg.com/msgpack-lite/-/msgpack-lite-0.1.26.tgz#dd3c50b26f059f25e7edee3644418358e2a9ad89" + integrity sha512-SZ2IxeqZ1oRFGo0xFGbvBJWMp3yLIY9rlIJyxy8CGrwZn1f0ZK4r6jV/AM1r0FZMDUkWkglOk/eeKIL9g77Nxw== + dependencies: + event-lite "^0.1.1" + ieee754 "^1.1.8" + int64-buffer "^0.1.9" + isarray "^1.0.0" + multicast-dns-service-types@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" @@ -7419,6 +9092,11 @@ mute-stream@0.0.7: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + n-readlines@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/n-readlines/-/n-readlines-1.0.1.tgz#bbb7364d38bc31a170a199f986fcacfa76b95f6e" @@ -7490,6 +9168,21 @@ node-abi@^3.3.0: dependencies: semver "^7.3.5" +node-abort-controller@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" + integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== + +node-addon-api@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.1.0.tgz#49da1ca055e109a23d537e9de43c09cca21eb762" + integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA== + +node-addon-api@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-6.1.0.tgz#ac8470034e58e67d0c6f1204a18ae6995d9c0d76" + integrity sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA== + node-fetch@^2.6.0: version "2.6.7" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" @@ -7502,11 +9195,21 @@ node-forge@^0.10.0: resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== +node-gyp-build@<4.0, node-gyp-build@^3.9.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-3.9.0.tgz#53a350187dd4d5276750da21605d1cb681d09e25" + integrity sha512-zLcTg6P4AbcHPq465ZMFNXx7XpKKJh+7kkN699NiQWisR2uWYOWNWqRHAmbnmKiL4e9aLSlmy5U7rEMUXV59+A== + node-gyp-build@^4.2.3: version "4.3.0" resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3" integrity sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q== +node-gyp-build@^4.4.0, node-gyp-build@^4.5.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055" + integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ== + node-libs-browser@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" @@ -7769,6 +9472,13 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" +one-time@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/one-time/-/one-time-1.0.0.tgz#e06bc174aed214ed58edede573b433bbf827cb45" + integrity sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g== + dependencies: + fn.name "1.x.x" + onetime@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" @@ -7776,6 +9486,13 @@ onetime@^2.0.0: dependencies: mimic-fn "^1.0.0" +onetime@^5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + opencollective-postinstall@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" @@ -7786,6 +9503,11 @@ opener@^1.5.2: resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== +opentracing@>=0.12.1: + version "0.14.7" + resolved "https://registry.yarnpkg.com/opentracing/-/opentracing-0.14.7.tgz#25d472bd0296dc0b64d7b94cbc995219031428f5" + integrity sha512-vz9iS7MJ5+Bp1URw8Khvdyw1H/hGvzHWlKQ7eRrQojSCDL1/SrWfrY9QebLw97n2deyRtzHRC3MkQfVNUCo91Q== + opn@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" @@ -7813,6 +9535,21 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" +ora@^5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + dependencies: + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + os-browserify@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" @@ -7859,7 +9596,7 @@ p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.1: dependencies: p-try "^2.0.0" -p-limit@^3.0.2: +p-limit@^3.0.2, p-limit@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== @@ -7959,6 +9696,11 @@ package-json@^6.3.0: registry-url "^5.0.0" semver "^6.2.0" +pako@^2.0.2: + version "2.1.0" + resolved "https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86" + integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug== + pako@~1.0.5: version "1.0.11" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" @@ -8071,7 +9813,7 @@ path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-to-regexp@0.1.7: +path-to-regexp@0.1.7, path-to-regexp@^0.1.2: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= @@ -8523,6 +10265,11 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.26, postcss@^7.0.2 source-map "^0.6.1" supports-color "^6.1.0" +pprof-format@^2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/pprof-format/-/pprof-format-2.0.7.tgz#526e4361f8b37d16b2ec4bb0696b5292de5046a4" + integrity sha512-1qWaGAzwMpaXJP9opRa23nPnt2Egi7RMNoNBptEE/XwHbcn4fC2b/4U4bKc5arkGkIh2ZabpF2bEb+c5GNHEKA== + prebuild-install@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.0.0.tgz#3c5ce3902f1cb9d6de5ae94ca53575e4af0c1574" @@ -8542,6 +10289,24 @@ prebuild-install@^7.0.0: tar-fs "^2.0.0" tunnel-agent "^0.6.0" +prebuild-install@^7.1.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.1.tgz#de97d5b34a70a0c81334fd24641f2a1702352e45" + integrity sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw== + dependencies: + detect-libc "^2.0.0" + expand-template "^2.0.3" + github-from-package "0.0.0" + minimist "^1.2.3" + mkdirp-classic "^0.5.3" + napi-build-utils "^1.0.1" + node-abi "^3.3.0" + pump "^3.0.0" + rc "^1.2.7" + simple-get "^4.0.0" + tar-fs "^2.0.0" + tunnel-agent "^0.6.0" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -8604,11 +10369,55 @@ progress@^2.0.0: resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== +prom-client@13.1.0: + version "13.1.0" + resolved "https://registry.yarnpkg.com/prom-client/-/prom-client-13.1.0.tgz#1185caffd8691e28d32e373972e662964e3dba45" + integrity sha512-jT9VccZCWrJWXdyEtQddCDszYsiuWj5T0ekrPszi/WEegj3IZy6Mm09iOOVM86A4IKMWq8hZkT2dD9MaSe+sng== + dependencies: + tdigest "^0.1.1" + promise-inflight@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= +protobufjs@^6.10.3, protobufjs@^6.8.8, protobufjs@~6.11.2, protobufjs@~6.11.3: + version "6.11.4" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.4.tgz#29a412c38bf70d89e537b6d02d904a6f448173aa" + integrity sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/long" "^4.0.1" + "@types/node" ">=13.7.0" + long "^4.0.0" + +protobufjs@^7.0.0, protobufjs@^7.2.4: + version "7.2.4" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.2.4.tgz#3fc1ec0cdc89dd91aef9ba6037ba07408485c3ae" + integrity sha512-AT+RJgD2sH8phPmCf7OUZR8xGdcJRga4+1cOaXJ64hvcSkVhNcRHOwIxUatPH15+nj59WAGTDv3LSGZPEQbJaQ== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/node" ">=13.7.0" + long "^5.0.0" + proxy-addr@~2.0.7: version "2.0.7" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" @@ -8691,6 +10500,11 @@ pupa@^2.0.1: dependencies: escape-goat "^2.0.0" +pure-rand@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.2.tgz#a9c2ddcae9b68d736a8163036f088a2781c8b306" + integrity sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ== + q@^1.1.2: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" @@ -8822,6 +10636,11 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" +readonly-date@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/readonly-date/-/readonly-date-1.0.0.tgz#5af785464d8c7d7c40b9d738cbde8c646f97dcd9" + integrity sha512-tMKIV7hlk0h4mO3JTmmVuIlJVXjKk3Sep9Bf5OH0O+758ruuVkUy2J9SttDLm91IEX/WHlXPSpxMGjPj4beMIQ== + recast@agoric-labs/recast#Agoric-built: version "0.20.5" resolved "https://codeload.github.com/agoric-labs/recast/tar.gz/879398a55cd50a53ade179de203706a25c53fb49" @@ -9079,6 +10898,14 @@ restore-cursor@^2.0.0: onetime "^2.0.0" signal-exit "^3.0.2" +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" @@ -9089,6 +10916,11 @@ retry@^0.12.0: resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= +retry@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== + reusify@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" @@ -9133,6 +10965,20 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" +rollup-plugin-string@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-string/-/rollup-plugin-string-3.0.0.tgz#fed2d6301fae1e59eb610957df757ef13fada3f0" + integrity sha512-vqyzgn9QefAgeKi+Y4A7jETeIAU1zQmS6VotH6bzm/zmUQEnYkpIGRaOBPY41oiWYV4JyBoGAaBjYMYuv+6wVw== + dependencies: + rollup-pluginutils "^2.4.1" + +rollup-pluginutils@^2.4.1: + version "2.8.2" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" + integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== + dependencies: + estree-walker "^0.6.1" + rollup@^2.47.0: version "2.64.0" resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.64.0.tgz#f0f59774e21fbb56de438a37d06a2189632b207a" @@ -9140,7 +10986,14 @@ rollup@^2.47.0: optionalDependencies: fsevents "~2.3.2" -run-async@^2.2.0: +rollup@endojs/endo#rollup-2.7.1-patch-1: + version "2.70.1-endo.1" + uid "54060e784a4dbe77b6692f17344f4d84a198530d" + resolved "https://codeload.github.com/endojs/endo/tar.gz/54060e784a4dbe77b6692f17344f4d84a198530d" + optionalDependencies: + fsevents "~2.3.2" + +run-async@^2.2.0, run-async@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== @@ -9166,6 +11019,13 @@ rxjs@^6.4.0: dependencies: tslib "^1.9.0" +rxjs@^7.5.5: + version "7.8.1" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== + dependencies: + tslib "^2.1.0" + safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -9183,6 +11043,11 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" +safe-stable-stringify@^2.3.1: + version "2.4.3" + resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz#138c84b6f6edb3db5f8ef3ef7115b8f55ccbf886" + integrity sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g== + "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@^2.1.2, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" @@ -9253,7 +11118,7 @@ semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semve resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.0.0, semver@^7.1.3, semver@^7.2.1, semver@^7.3.2, semver@^7.3.5: +semver@^7.0.0, semver@^7.1.3, semver@^7.2.1, semver@^7.3.2, semver@^7.3.5, semver@^7.5.4: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== @@ -9328,10 +11193,22 @@ ses@^0.15.1, ses@^0.15.11, ses@^0.15.17, ses@^0.15.9: resolved "https://registry.yarnpkg.com/ses/-/ses-0.15.17.tgz#84e20cd08fb294989c6499942d220bd6604e1884" integrity sha512-T8XKsR5LGV57ilyqE4InFJKWVniEEFGai0CjuVJPju9LvnjYPXvZ7V8jP7sGtJ500ApRVgNBCu+5ZcSUhiuXig== -ses@^0.16.0: - version "0.16.0" - resolved "https://registry.yarnpkg.com/ses/-/ses-0.16.0.tgz#d405fff49daa8e19b1b04344e2a752c9268afa72" - integrity sha512-2oKCzl3W24aNqBifLWWEh3OGd+78+SY1GVKWP5ogrqBOjs3X1trwE2akx5pX4M1MFExqXoJGav1CmCq2KBMqOg== +ses@^0.16.1: + version "0.16.1" + resolved "https://registry.yarnpkg.com/ses/-/ses-0.16.1.tgz#b447aa8a6f7f5826e2ba8ff66a566f1e1a74cca6" + integrity sha512-yLgBL+IC7cfMz7DWlTAbZaZUVavO3U14G8gqKPE0jqQgxkvN1KDx3c1UW9q/YgU3UpxuhxnjUMOfyAfEF9pNxA== + +ses@^0.17.0: + version "0.17.1" + resolved "https://registry.yarnpkg.com/ses/-/ses-0.17.1.tgz#acdbdbe21e2dc2531e99f432ba5cccd074d6ca05" + integrity sha512-8tNyKyDMCoMCYxkRIv6ZrBrBbYejrwpqOD3frAbZaim8JbI3D+x88mPfi32QeV3s3xQAdSsONCv0Ickrk/a2Cg== + +ses@^0.18.5, ses@^0.18.7: + version "0.18.7" + resolved "https://registry.yarnpkg.com/ses/-/ses-0.18.7.tgz#8abeb65732845642c2d1a284e415ef11957fb489" + integrity sha512-bcQ3CY8jh+UnumfdDZCPDgRA9hWk6acpL1d7ecQLMOdMkqKkP0yv2b6Sd9AVxuxbu4cXMt158epbpwkV/5sIfw== + dependencies: + "@endo/env-options" "^0.1.3" set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" @@ -9584,6 +11461,11 @@ source-map@^0.7.3: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== +source-map@^0.7.4: + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + sourcemap-codec@^1.4.4: version "1.4.8" resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" @@ -9669,6 +11551,11 @@ stable@^0.1.8: resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== +stack-trace@0.0.x: + version "0.0.10" + resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" + integrity sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg== + stack-utils@^1.0.1: version "1.0.5" resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.5.tgz#a19b0b01947e0029c8e451d5d61a498f5bb1471b" @@ -10010,6 +11897,11 @@ svgo@^1.0.0: unquote "~1.1.1" util.promisify "~1.0.0" +symbol-observable@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-2.0.3.tgz#5b521d3d07a43c351055fa43b8355b62d33fd16a" + integrity sha512-sQV7phh2WCYAn81oAkakC5qjq2Ml0g8ozqz03wOGnx9dDlG1de6yrF+0RAzSJD8fPUow3PTSMf2SAbOGxb93BA== + table@^6.0.9: version "6.7.1" resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2" @@ -10022,6 +11914,17 @@ table@^6.0.9: string-width "^4.2.0" strip-ansi "^6.0.0" +table@^6.7.1: + version "6.8.1" + resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" + integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== + dependencies: + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" @@ -10048,6 +11951,13 @@ tar-stream@^2.1.4: inherits "^2.0.3" readable-stream "^3.1.1" +tdigest@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/tdigest/-/tdigest-0.1.2.tgz#96c64bac4ff10746b910b0e23b515794e12faced" + integrity sha512-+G0LLgjjo9BZX2MfdvPfH+MKLCrxlXSYec5DaPYP1fe6Iyhf0/fSmJ0bFiZ1F8BT6cGXl2LpltQptzjXKWEkKA== + dependencies: + bintrees "1.0.2" + temp-dir@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e" @@ -10099,6 +12009,11 @@ test-exclude@^6.0.0: glob "^7.1.4" minimatch "^3.0.4" +text-hex@1.0.x: + version "1.0.0" + resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-1.0.0.tgz#69dc9c1b17446ee79a92bf5b884bb4b9127506f5" + integrity sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg== + text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" @@ -10233,6 +12148,16 @@ tr46@~0.0.3: resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= +triple-beam@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/triple-beam/-/triple-beam-1.3.0.tgz#a595214c7298db8339eeeee083e4d10bd8cb8dd9" + integrity sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw== + +triple-beam@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/triple-beam/-/triple-beam-1.4.1.tgz#6fde70271dc6e5d73ca0c3b24e2d92afb7441984" + integrity sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg== + tsconfig-paths@^3.14.1: version "3.14.1" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" @@ -10253,6 +12178,11 @@ tslib@^2.0.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== +tslib@^2.1.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + tsutils@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" @@ -10750,6 +12680,13 @@ wbuf@^1.1.0, wbuf@^1.7.3: dependencies: minimalistic-assert "^1.0.0" +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== + dependencies: + defaults "^1.0.3" + webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" @@ -10963,6 +12900,30 @@ widest-line@^3.1.0: dependencies: string-width "^4.0.0" +winston-transport@^4.4.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.5.0.tgz#6e7b0dd04d393171ed5e4e4905db265f7ab384fa" + integrity sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q== + dependencies: + logform "^2.3.2" + readable-stream "^3.6.0" + triple-beam "^1.3.0" + +winston@3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/winston/-/winston-3.3.3.tgz#ae6172042cafb29786afa3d09c8ff833ab7c9170" + integrity sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw== + dependencies: + "@dabh/diagnostics" "^2.0.2" + async "^3.1.0" + is-stream "^2.0.0" + logform "^2.2.0" + one-time "^1.0.0" + readable-stream "^3.4.0" + stack-trace "0.0.x" + triple-beam "^1.3.0" + winston-transport "^4.4.0" + word-wrap@^1.2.3: version "1.2.4" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.4.tgz#cb4b50ec9aca570abd1f52f33cd45b6c61739a9f" @@ -10984,6 +12945,15 @@ wrap-ansi@^5.1.0: string-width "^3.0.0" strip-ansi "^5.0.0" +wrap-ansi@^6.0.1: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" @@ -11023,6 +12993,11 @@ ws@^6.2.1: dependencies: async-limiter "~1.0.0" +ws@^7: + version "7.5.9" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + ws@^7.2.0: version "7.5.6" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.6.tgz#e59fc509fb15ddfb65487ee9765c5a51dec5fe7b" @@ -11033,6 +13008,14 @@ xdg-basedir@^4.0.0: resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== +xstream@^11.14.0: + version "11.14.0" + resolved "https://registry.yarnpkg.com/xstream/-/xstream-11.14.0.tgz#2c071d26b18310523b6877e86b4e54df068a9ae5" + integrity sha512-1bLb+kKKtKPbgTK6i/BaoAn03g47PpFstlbe1BA+y3pNS/LfvcaghS5BFf9+EE1J+KwSQsEpfJvFN5GqFtiNmw== + dependencies: + globalthis "^1.0.1" + symbol-observable "^2.0.3" + xtend@^4.0.0, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"