Was this page helpful?
+ {feedbackForm(feedback)} +Need further help?
+-
+
- + Join our{' '} + + Discord + + +
Contribute
+-
+
- + Join our{' '} + + Discord + + +
- + Submit a{' '} + + feature request 🌉 + + +
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS deleted file mode 100644 index ac00976..0000000 --- a/.github/CODEOWNERS +++ /dev/null @@ -1 +0,0 @@ -* @prestwich @ltchang2019 @erinhales @yourbuddyconner @kekonen @anna-carroll @imti @pranaymohan @barbaraliau \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/track-documentation-task.md b/.github/ISSUE_TEMPLATE/track-documentation-task.md new file mode 100644 index 0000000..7b30728 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/track-documentation-task.md @@ -0,0 +1,34 @@ +--- +name: Track documentation task +about: Template to track a documentation task +title: '' +labels: '' +assignees: '' + +--- + +## Description + +I'm working on pull request/ issue: + + +Supply further description as needed. + +## Research + +- [ ] New documents: Collect input from engineers +- [ ] Existing documents: Get familiar with existing documents +- [ ] Add more tasks as needed + +## Production + +- [ ] New documents: Create draft +- [ ] Existing documents: Refine document +- [ ] Get technical review +- [ ] Get peer review + +## Publication + +- [ ] Merge PR +- [ ] Approve ingest PR on netdata/learn +- [ ] Check for broken links in build log diff --git a/.github/workflows/check-broken-links.md b/.github/workflows/check-broken-links.md new file mode 100644 index 0000000..3dcc8f4 --- /dev/null +++ b/.github/workflows/check-broken-links.md @@ -0,0 +1,11 @@ +--- +title: Nomad docs contains broken links! +labels: broken-links +assignees: '' +--- + +## Nomad docs contains broken links! + + +[View the results](https://github.com/nomad-xyz/learn/commit/{{sha}}/checks). + diff --git a/.github/workflows/check-broken-links.yml b/.github/workflows/check-broken-links.yml new file mode 100644 index 0000000..f2efc4a --- /dev/null +++ b/.github/workflows/check-broken-links.yml @@ -0,0 +1,26 @@ +name: Test internal links +on: + workflow_dispatch: + schedule: + - cron: '0 17 * * *' +env: + WEBSITE_URL: "https://docs.nomad.xyz/" + ISSUE_TEMPLATE: ".github/workflows/check-broken-links.md" + +jobs: + check: + runs-on: ubuntu-latest + + steps: + - name: Run BLC on internal links + run: npx broken-link-checker $WEBSITE_URL --ordered --recursive --exclude-external --user-agent 'Mozilla/5.0 (Macintosh; Intel Mac OS X 11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Safari/537.36' + + - uses: actions/checkout@v2 + if: failure() + + - uses: JasonEtco/create-an-issue@v2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + filename: ${{ env.ISSUE_TEMPLATE }} + if: failure() diff --git a/.gitignore b/.gitignore index 3d6a3b1..106e768 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,26 @@ -node_modules -docs/.vitepress/dist -.DS_STORE \ No newline at end of file +# Dependencies +node_modules/ +docs/.vitepress/ +# Production +/build + +# Generated files +.docusaurus/ +.cache-loader + +# Misc +.DS_Store +.env +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Local Netlify folder +.netlify +.vscode/settings.json +/.idea/ diff --git a/.nvmrc b/.nvmrc deleted file mode 100644 index f0b10f1..0000000 --- a/.nvmrc +++ /dev/null @@ -1 +0,0 @@ -v16.13.1 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..38e5be8 --- /dev/null +++ b/LICENSE @@ -0,0 +1,13 @@ +Copyright 2022 Illusory Systems Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/README.md b/README.md index ddcf93d..8a37d63 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,21 @@ -# Documentation Site +# Nomad Docs -## Install -```sh -npm install -``` +## Development -## Build +- You will need `docusaurus` and `node 16` to develop and test locally the documentation website +- [Install Docusaurus](https://docusaurus.io/docs/installation) +- `git clone` the repository locally +- Run `yarn` or `npm install` from inside the repository to install all dependencies +- `yarn start`: Will start a local dev server that will automatically reload with every change to the source code +- Please use named or forked branches. All changes should be PRed to `dev` and if everything works as expected, only then `dev` should be merged into `main` -```sh -npm run docs:build -``` +## Deployment -## Serve Dev Environment +- The docs are automatically deployed from the github repo via Netlify + - `main` is deployed to `docs.nomad.xyz` + - `dev` is deployed to `dev.docs.nomad.xyz` -```sh -npm run docs:dev -``` +## License -## Serve Prod Environment - -```sh -npm run docs:serve -``` +Apache License 2.0 diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..03afab4 --- /dev/null +++ b/babel.config.js @@ -0,0 +1,3 @@ +module.exports = { + presets: [require.resolve('@docusaurus/core/lib/babel/preset')], +}; \ No newline at end of file diff --git a/docs/.vitepress/config.js b/docs/.vitepress/config.js deleted file mode 100644 index 79cdc26..0000000 --- a/docs/.vitepress/config.js +++ /dev/null @@ -1,94 +0,0 @@ -module.exports = { - lang: "en-US", - title: "Nomad", - description: "Documentation", - - head: [["link", { rel: "icon", href: `/favicon.png` }]], - - themeConfig: { - // repo: 'https://github.com/nomad-xyz/nomad-monorepo', - docsDir: "docs", - - nav: [ - { text: "Home", link: "/", activeMatch: "^/$|^/home/" }, - { text: "Bridge", link: "/bridge/index.html", activeMatch: "^/bridge" }, - { - text: "Developer Resources", - link: "/dev/index.html", - activeMatch: "^/dev/", - }, - ], - - sidebar: { - "/home/": getHomeSidebar(), - "/bridge/": getBridgeSidebar(), - "/dev": getIntegrationsSidebar(), - "/": getHomeSidebar(), - }, - }, -}; - -function getHomeSidebar() { - return [ - { text: "What is Nomad?", link: "/" }, - { text: "Brand Kit", link: "/brand-kit.html" }, - ]; -} - -function getBridgeSidebar() { - return [ - { text: "Getting Started", link: "/bridge/index.html" }, - { - text: "Resources", - children: [ - { text: "Deployed Domains and Addresses", link: "/bridge/domains.html" }, - ], - }, - { text: "FAQs", link: "/bridge/faq.html" }, - { - text: "Ways to Bridge Using Nomad", - children: [ - { text: "Nomad GUI", link: "/bridge/nomad-gui.html" }, - { - text: "Send Native Tokens Using Etherscan", - link: "/bridge/etherscan-native.html", - }, - { - text: "Send ERC-20 Tokens Using Etherscan", - link: "/bridge/etherscan.html", - }, - ], - }, - ]; -} - -function getIntegrationsSidebar() { - return [ - { - text: "Developer Resources", - children: [ - { text: "Nomad Domain IDs", link: "/dev/domain-ids.html" }, - { text: "SDK Documentation", link: "/dev/sdk.html" }, - { text: "Writing a xApp", link: "/dev/xapps.html" }, - ], - }, - { - text: "Technical Docs", - children: [ - { text: "Nomad Architecture", link: "/dev/architecture.html" }, - { text: "Token Bridge xApp", link: "/dev/token-bridge.html" }, - { text: "Governance", link: "/dev/governance.html" }, - { text: "Upgrade Setup", link: "/dev/upgrade-setup.html" }, - { - text: "Deploy Contracts to Dev", - link: "/dev/dev-contract-deployment.html", - }, - { - text: "Deploy Contracts to Prod", - link: "/dev/prod-contract-deployment.html", - }, - { text: "Off-Chain Agents", link: "/dev/agents/" }, - ], - }, - ]; -} diff --git a/docs/.vitepress/theme/custom.css b/docs/.vitepress/theme/custom.css deleted file mode 100644 index b64dddc..0000000 --- a/docs/.vitepress/theme/custom.css +++ /dev/null @@ -1,8 +0,0 @@ -:root { - --c-brand: #4b7bec; - --c-brand-light: #5b8bfc; -} - -.container { - max-width: 60rem !important; -} \ No newline at end of file diff --git a/docs/.vitepress/theme/index.js b/docs/.vitepress/theme/index.js deleted file mode 100644 index 42fe9a9..0000000 --- a/docs/.vitepress/theme/index.js +++ /dev/null @@ -1,4 +0,0 @@ -import DefaultTheme from 'vitepress/theme' -import './custom.css' - -export default DefaultTheme diff --git a/docs/agents/overview.md b/docs/agents/overview.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/agents/processor.md b/docs/agents/processor.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/agents/relayer.md b/docs/agents/relayer.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/agents/updater.md b/docs/agents/updater.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/agents/watcher.md b/docs/agents/watcher.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/brand-kit.md b/docs/brand-kit.md deleted file mode 100644 index f3c3064..0000000 --- a/docs/brand-kit.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Nomad Brand Kit -lang: en-US ---- - -# Brand kit - -
-Nomad is a novel new cross-chain protocol. Please only bridge funds to the extent that you feel comfortable deploying on chain.
diff --git a/docs/bridge/nomad-gui.md b/docs/bridge/nomad-gui.md deleted file mode 100644 index bf5c3c4..0000000 --- a/docs/bridge/nomad-gui.md +++ /dev/null @@ -1,122 +0,0 @@ ---- -title: Nomad Bridge GUI -lang: en-US ---- - -# Nomad Bridge GUI - -## Nomad vs Connext, which should I use? - -There are two options available to send funds through the GUI, Nomad and Connext. These are two distinct protocols that are complimentary to one another. We have partnered with Connext to provide an optimal experience for users! - -Nomad is a secure gas efficient cross-chain protocol that allows users to bridge funds between networks. This takes, on average, 35-60 minutes. There are no fees associated with Nomad, just pay gas! Connext provides liquidity pools for Nomad assets, meaning users can receive funds on the destination chain much faster (less than 10 minutes) for an additional fee. Nomad is advised for large transfers. - -Connext is not available for every asset and may not be available for larger sums. We recommend using Nomad if you intend to send large transfers. - -## Bridging Through Nomad - -Bridging assets across chains using Nomad should be intuitive and easy with the Nomad GUI. In this tutorial, we will walk through the steps required to bridge your assets. - -Please find our production bridge GUI at [app.nomad.xyz](https://app.nomad.xyz/). - -If you would like to test our bridge using testnet funds before using real funds, please visit our development GUI at [development.app.nomad.xyz](https://development.app.nomad.xyz/). - -Any arguments for the Contracts object.
-Generated using TypeDoc
The MultiProvider manages a collection of Domains and allows -developers to enroll ethers Providers and Signers for each domain. It is -intended to enable faster multi-chain development by housing all chain -connections under a single roof.
-Generally, we intend developers inherit the MultiProvider. Which is to say,
-the expected usage pattern is class AppContext<T> extends MultiProvider<T>
.
-This way, the MultiProvider
registration methods are available on the app
-context.
However, the multiprovider also works well as a property on a Context
-class. E.g. class AppContext<T> { protected provider: MultiProvider<T> }
The Domain
type parameter to the MultiProvider specifies an internal data
-carrier that describes chains. This can be as simple as a name and a number.
-This is the logical place to insert app-specific chain information. E.g. if
-your application needs to know the blocktime of a chain, it should be on the
-Domain
type.
Clear all signers from all registered domains.
-Resolves the address of a Signer on a domain (or undefined, if no Signer)
-A domain name or number.
-A Promise for the address of the registered signer (if any)
-Returns the most privileged connection registered to a domain. E.g. -this function will attempt to return a Signer, then attempt to return the -Provider (if no Signer is registered). If neither Signer nor Provider is -registered for a domain, it will return undefined
-A domain name or number.
-A Signer (if any), otherwise a Provider (if any), otherwise - undefined
-Get the Provider associated with a doman (if any)
-A domain name or number.
-The currently registered Provider (or none)
-Return the signer registered to a domain (if any).
-A domain name or number.
-The registered signer (or undefined)
-Check whether the MultiProvider is aware of a domain.
-A domain name or number.
-true if the Domain has been registered, else false.
-Get the Connection associated with a doman (or error)
-A domain name or number.
-A Signer
-Get the Provider associated with a doman (or error)
-A domain name or number.
-A Provider
-Get the Signer associated with a doman (or error)
-A domain name or number.
-A Signer
-Resgister a domain with the MultiProvider. This allows the multiprovider -to resolves tha domain info, and reference it by name or number.
-The Domain object to register.
-Register an ethers Provider for a specified domain.
-A domain name or number.
-An ethers Provider to be used by requests to that domain.
-Shortcut to register a provider by its HTTP RPC URL.
-A domain name or number.
-The HTTP RPC Url
-Register an ethers Signer for a specified domain.
-A domain name or number.
-An ethers Signer to be used by requests to that domain.
-A shortcut for registering a basic local privkey signer on a domain.
-A domain name or number.
-A private key string passed to ethers.Wallet
Resolve a domain name (or number) to the canonical number.
-This function is used extensively to disambiguate domains.
-A domain name or number.
-The canonical domain number.
-Resolve the name of a registered Domain, from its name or number.
-Similar to resolveDomain
.
A domain name or number.
-The name
-Remove the registered ethers Signer from a domain. This function will -attempt to preserve any Provider that was previously connected to this -domain.
-A domain name or number.
-Generated using TypeDoc
The MultiProvider
is a management system for
-ethers.js providers and signers that helps
-developers connect to multiple networks simultaneously. It is part
-of the Nomad project, but may
-be useful to other multi-chain systems.
import { MultiProvider, Domain } from '@nomad-xyz/multi-provider';
const myApp = new MultiProvider<Domain>();
myApp.registerDomain({ name: 'polygon', id: 50 });
myApp.registerDomain({ name: 'ethereum', id: 1 });
myApp.registerRpcProvider('ethereum', 'https://...');
myApp.registerRpcProvider('polygon', 'https://...');
myApp.registerSigner('ethereum', someSigner);
myApp.registerSigner('polygon', someSigner);
-
-
-
- yarn build
-
-Generated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
Converts a 20-byte (or other length) ID to a 32-byte ID. -Ensures that a bytes-like is 32 long. left-padding with 0s if not.
-A string or array of bytes to canonize
-A Uint8Array of length 32
-Converts a chain id (listed at at chainlist.org) to a Nomad domain.
-A chain id number
-A Nomad domain number in decimal
-Sleep async for some time.
-the number of milliseconds to sleep
-A delay promise
-Equality for the NomadIdentifier
Lhs of equality
-Rhs of equality
-true if equal, else false
-Converts an Nomad ID of 20 or 32 bytes to the corresponding EVM Address.
-For 32-byte IDs this enforces the EVM convention of using the LAST 20 bytes.
-The data to truncate
-A 20-byte, 0x-prepended hex string representing the EVM Address
-Converts a string (e.g. "eth" for Ethereum) to a decimal formatted Nomad -domain.
-The chain string
-A Nomad domain number in decimal
-Converts a string (e.g. "eth" for Ethereum) to a Nomad domain displayed as -a hex string.
-The chain string
-A 0x prefixed Nomad domain in hex (string)
-Parse a number or string into an integer number
-A number, decimal string, or hex string
-The integer it represents
-Generated using TypeDoc
The BridgeContext manages connections to Nomad Bridge contracts. -It inherits from the {@link MultiProvider} and {@link NomadContext} and -ensures that its contracts always use the latest registered providers and -signers.
-Clear all signers from all registered domains.
-Resolves the address of a Signer on a domain (or undefined, if no Signer)
-A domain name or number.
-A Promise for the address of the registered signer (if any)
-Get the BridgeContracts for a given domain (or undefined)
-A domain name or number.
-a BridgeContracts object (or undefined)
-Returns the most privileged connection registered to a domain. E.g. -this function will attempt to return a Signer, then attempt to return the -Provider (if no Signer is registered). If neither Signer nor Provider is -registered for a domain, it will return undefined
-A domain name or number.
-A Signer (if any), otherwise a Provider (if any), otherwise - undefined
-Get the {@link CoreContracts} for a given domain (or undefined)
-A domain name or number.
-a {@link CoreContracts} object (or undefined)
-Get the registered {@link Domain} object (if any)
-A domain name or number.
-A {@link Domain} (if the domain has been registered)
-Get the Provider associated with a doman (if any)
-A domain name or number.
-The currently registered Provider (or none)
-Resolve the replica for the Home domain on the Remote domain (if any).
-WARNING: do not hold references to this contract, as it will not be -reconnected in the event the chain connection changes.
-the sending domain
-the receiving domain
-An interface for the Replica (if any)
-Return the signer registered to a domain (if any).
-A domain name or number.
-The registered signer (or undefined)
-Discovers the governor domain of this nomad deployment and returns the -associated Core.
-The identifier of the governing domain
-Check whether the {@link MultiProvider} is aware of a domain.
-A domain name or number.
-true if the {@link Domain} has been registered, else false.
-Get the BridgeContracts for a given domain (or throw an error)
-A domain name or number.
-a BridgeContracts object
-Get the Connection associated with a doman (or error)
-A domain name or number.
-A Signer
-Get the {@link CoreContracts} for a given domain (or throw an error)
-A domain name or number.
-a {@link CoreContracts} object
-Get the registered {@link Domain} object (or error)
-A domain name or number.
-A {@link Domain}
-Get the Provider associated with a doman (or error)
-A domain name or number.
-A Provider
-Resolve the replica for the Home domain on the Remote domain (or throws).
-WARNING: do not hold references to this contract, as it will not be -reconnected in the event the chain connection changes.
-the sending domain
-the receiving domain
-An interface for the Replica
-Get the Signer associated with a doman (or error)
-A domain name or number.
-A Signer
-Ensure that the contracts on a given domain are connected to the -currently-registered signer or provider.
-Resgister a domain with the MultiProvider. This allows the multiprovider -to resolves tha domain info, and reference it by name or number.
-The Domain object to register.
-Register an ethers Provider for a specified domain.
-A domain name or number.
-An ethers Provider to be used by requests to that domain.
-Shortcut to register a provider by its HTTP RPC URL.
-A domain name or number.
-The HTTP RPC Url
-Register an ethers Signer for a specified domain.
-A domain name or number.
-An ethers Signer to be used by requests to that domain.
-A shortcut for registering a basic local privkey signer on a domain.
-A domain name or number.
-A private key string passed to ethers.Wallet
Resolve the canonical domain and identifier for a representation on some -domain.
-The domain hosting the representation
-The address of the representation on that domain
-The domain and ID for the canonical token
-Resolve an interface for the canonical token corresponding to a -representation on some domain.
-The domain hosting the representation
-The address of the representation on that domain
-An interface for that token
-Resolve a domain name (or number) to the canonical number.
-This function is used extensively to disambiguate domains.
-A domain name or number.
-The canonical domain number.
-Resolve the name of a registered {@link Domain}, from its name or number.
-Similar to resolveDomain
.
A domain name or number.
-The name
-Resolve the local representation of a token on some domain. E.g. find the -deployed Celo address of Ethereum's Sushi Token.
-WARNING: do not hold references to this contract, as it will not be -reconnected in the event the chain connection changes.
-the target domain, which hosts the representation
-The token to locate on that domain
-An interface for that token (if it has been deployed on that -domain)
-Resolve the local representation of a token on ALL known domain. E.g. -find ALL deployed addresses of Ethereum's Sushi Token, on all registered -domains.
-WARNING: do not hold references to these contracts, as they will not be -reconnected in the event the chain connection changes.
-The token to locate on ALL domains
-A ResolvedTokenInfo object with representation addresses
-Send tokens from one domain to another. Approves the bridge if necessary.
-The domain to send from
-The domain to send to
-The canonical token to send (details from originating chain)
-The amount (in smallest unit) to send
-The identifier to send to on the to
domain
TRUE to enable fast liquidity; FALSE to require no fast liquidity
-Any tx overrides (e.g. gas price)
-a TransferMessage object representing the in-flight - transfer
-Send a chain's native asset from one chain to another using the
-EthHelper
contract.
The domain to send from
-The domain to send to
-The amount (in smallest unit) to send
-The identifier to send to on the to
domain
TRUE to enable fast liquidity; FALSE to require no fast liquidity
-Any tx overrides (e.g. gas price)
-a TransferMessage object representing the in-flight - transfer
-Remove the registered ethers Signer from a domain. This function will -attempt to preserve any Provider that was previously connected to this -domain.
-A domain name or number.
-Generated using TypeDoc
Generated using TypeDoc
The BridgeMessage extends {@link nomadMessage} with Bridge-specific -functionality.
-The message body
-The keccak256 hash of the message body
-The committed root when this message was dispatched.
-The destination domain for this message
-The destination and nonceof this message.
-The domain from which the message was sent
-The messageHash committed to the tree in the Home contract.
-The index of the leaf in the contract.
-The domain nonce for this message
-The domain from which the message was sent. Alias for from
The receipt of the TX that dispatched this message
-The identifer for the recipient for this message
-The identifier for the sender of this message
-The hash of the transaction that dispatched this message
-Resolves the asset that is being transfered
-WARNING: do not hold references to these contract, as they will not be -reconnected in the event the chain connection changes.
-The resolved token information.
-Resolves an interface for the asset that is being transfered on the chain -TO WHICH it is being transferred
-WARNING: do not hold references to this contract, as it will not be -reconnected in the event the chain connection changes.
-The resolved token interface.
-Resolves an interface for the asset that is being transfered on the chain -FROM WHICH it is being transferred
-WARNING: do not hold references to this contract, as it will not be -reconnected in the event the chain connection changes.
-The resolved token interface.
-Returns the timestamp after which it is possible to process this message.
-Note: return the timestamp after which it is possible to process messages -within an Update. The timestamp is most relevant during the time AFTER the -Update has been Relayed to the Replica and BEFORE the message in question -has been Processed.
-Considerations:
-The timestamp at which a message can confirm
-Checks whether the message has been delivered.
-true if processed, else false.
-Get all lifecycle events associated with this message
-An array of {@link AnnotatedLifecycleEvent} objects
-Get the Home Update
event associated with this message (if any)
An {@link AnnotatedUpdate} (if any)
-Get the Replica Process
event associated with this message (if any)
An {@link AnnotatedProcess} (if any)
-Get the Replica Update
event associated with this message (if any)
An {@link AnnotatedUpdate} (if any)
-Retrieve the replica status of this message.
-The {@link ReplicaMessageStatus} corresponding to the solidity -status of the message.
-Returns a promise that resolves when the message has been delivered.
-WARNING: May never resolve. Oftern takes hours to resolve.
-Polling options.
-Instantiate one or more messages from a receipt.
-the {@link NomadContext} object to use
-the domain on which the receipt was logged
-the receipt
-an array of {@link NomadMessage} objects
-Instantiate one or more messages from a tx hash.
-the {@link NomadContext} object to use
-the domain on which the receipt was logged
-an array of {@link NomadMessage} objects
-Instantiate EXACTLY one message from a receipt.
-the {@link NomadContext} object to use
-the domain on which the receipt was logged
-the receipt
-an array of {@link NomadMessage} objects
-Instantiate EXACTLY one message from a transaction has.
-the {@link NomadContext} object to use
-the domain on which the receipt was logged
-an array of {@link NomadMessage} objects
-Attempt to instantiate a BridgeMessage from an existing -{@link nomadMessage}
-The {@link NomadContext} to use.
-The existing nomadMessage
-A Bridge message
-Attempt to instantiate some BridgeMessages from a transaction receipt
-The {@link NomadContext} to use.
-the domain on which the receipt was logged
-The receipt
-an array of BridgeMessage objects
-Attempt to instantiate some BridgeMessages from a transaction hash by -retrieving and parsing the receipt.
-The {@link NomadContext} to use.
-the domain on which the receipt was logged
-The transaction hash
-an array of BridgeMessage objects
-Attempt to instantiate EXACTLY one BridgeMessage from a transaction receipt
-The BridgeContext to use.
-the domain on which the receipt was logged
-The receipt
-an array of BridgeMessage objects
-Attempt to instantiate EXACTLY one BridgeMessages from a transaction hash -by retrieving and parsing the receipt.
-The {@link NomadContext} to use.
-the domain on which the receipt was logged
-The transaction hash
-an array of BridgeMessage objects
-Generated using TypeDoc
A TransferMessage extends the BridgeMessage with transfer-specific -functionality.
-The amount of tokens being transferred (in the smallest unit)
-The message body
-The keccak256 hash of the message body
-The committed root when this message was dispatched.
-The destination domain for this message
-The destination and nonceof this message.
-The domain from which the message was sent
-The messageHash committed to the tree in the Home contract.
-The index of the leaf in the contract.
-The domain nonce for this message
-The domain from which the message was sent. Alias for from
The ID used for prefilling this transfer message.
-The receipt of the TX that dispatched this message
-The identifer for the recipient for this message
-The identifier for the sender of this message
-The identifier for the recipient of the tokens
-The hash of the transaction that dispatched this message
-Resolves the asset that is being transfered
-WARNING: do not hold references to these contract, as they will not be -reconnected in the event the chain connection changes.
-The resolved token information.
-Resolves an interface for the asset that is being transfered on the chain -TO WHICH it is being transferred
-WARNING: do not hold references to this contract, as it will not be -reconnected in the event the chain connection changes.
-The resolved token interface.
-Resolves an interface for the asset that is being transfered on the chain -FROM WHICH it is being transferred
-WARNING: do not hold references to this contract, as it will not be -reconnected in the event the chain connection changes.
-The resolved token interface.
-Returns the timestamp after which it is possible to process this message.
-Note: return the timestamp after which it is possible to process messages -within an Update. The timestamp is most relevant during the time AFTER the -Update has been Relayed to the Replica and BEFORE the message in question -has been Processed.
-Considerations:
-The timestamp at which a message can confirm
-Check if the transfer has been prefilled using the fast liquidity system.
-true if the transfer has been prefilled. Else false.
-Checks whether the message has been delivered.
-true if processed, else false.
-Get all lifecycle events associated with this message
-An array of {@link AnnotatedLifecycleEvent} objects
-Get the Home Update
event associated with this message (if any)
An {@link AnnotatedUpdate} (if any)
-Get the Replica Process
event associated with this message (if any)
An {@link AnnotatedProcess} (if any)
-Get the Replica Update
event associated with this message (if any)
An {@link AnnotatedUpdate} (if any)
-Retrieve the replica status of this message.
-The {@link ReplicaMessageStatus} corresponding to the solidity -status of the message.
-Returns a promise that resolves when the message has been delivered.
-WARNING: May never resolve. Oftern takes hours to resolve.
-Polling options.
-Instantiate one or more messages from a receipt.
-the {@link NomadContext} object to use
-the domain on which the receipt was logged
-the receipt
-an array of {@link NomadMessage} objects
-Instantiate one or more messages from a tx hash.
-the {@link NomadContext} object to use
-the domain on which the receipt was logged
-an array of {@link NomadMessage} objects
-Instantiate EXACTLY one message from a receipt.
-the {@link NomadContext} object to use
-the domain on which the receipt was logged
-the receipt
-an array of {@link NomadMessage} objects
-Instantiate EXACTLY one message from a transaction has.
-the {@link NomadContext} object to use
-the domain on which the receipt was logged
-an array of {@link NomadMessage} objects
-Attempt to instantiate a BridgeMessage from an existing -{@link nomadMessage}
-The {@link NomadContext} to use.
-The existing nomadMessage
-A Bridge message
-Attempt to instantiate some BridgeMessages from a transaction receipt
-The {@link NomadContext} to use.
-the domain on which the receipt was logged
-The receipt
-an array of BridgeMessage objects
-Attempt to instantiate some BridgeMessages from a transaction hash by -retrieving and parsing the receipt.
-The {@link NomadContext} to use.
-the domain on which the receipt was logged
-The transaction hash
-an array of BridgeMessage objects
-Attempt to instantiate EXACTLY one BridgeMessage from a transaction receipt
-The BridgeContext to use.
-the domain on which the receipt was logged
-The receipt
-an array of BridgeMessage objects
-Attempt to instantiate EXACTLY one BridgeMessages from a transaction hash -by retrieving and parsing the receipt.
-The {@link NomadContext} to use.
-the domain on which the receipt was logged
-The transaction hash
-an array of BridgeMessage objects
-Generated using TypeDoc
This package includes the BridgeContext
, a management system for Nomad core
-contracts, which inherits from the MultiProvider
. BridgeContext
allows
-developers to easily interact with the Nomad Token Bridge on any number of
-networks.
yarn build
-
-Generated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
This package includes the CallBatch
, a management system for Nomad governance
-actions. CallBatch
allows developers to easily instruct the Nomad governance
-system to interact with contracts on any network. It is intended to be used in
-conjunction with a NomadContext
object.
yarn build
-
-Generated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
Optional override for formatting stack traces
-Create .stack property on a target object
-Generated using TypeDoc
The NomadContext manages connections to Nomad core and Bridge contracts. -It inherits from the {@link MultiProvider}, and ensures that its contracts -always use the latest registered providers and signers.
-For convenience, we've pre-constructed contexts for mainnet and testnet -deployments. These can be imported directly.
-Clear all signers from all registered domains.
-Resolves the address of a Signer on a domain (or undefined, if no Signer)
-A domain name or number.
-A Promise for the address of the registered signer (if any)
-Returns the most privileged connection registered to a domain. E.g. -this function will attempt to return a Signer, then attempt to return the -Provider (if no Signer is registered). If neither Signer nor Provider is -registered for a domain, it will return undefined
-A domain name or number.
-A Signer (if any), otherwise a Provider (if any), otherwise - undefined
-Get the CoreContracts for a given domain (or undefined)
-A domain name or number.
-a CoreContracts object (or undefined)
-Get the registered {@link Domain} object (if any)
-A domain name or number.
-A {@link Domain} (if the domain has been registered)
-Get the Provider associated with a doman (if any)
-A domain name or number.
-The currently registered Provider (or none)
-Resolve the replica for the Home domain on the Remote domain (if any).
-WARNING: do not hold references to this contract, as it will not be -reconnected in the event the chain connection changes.
-the sending domain
-the receiving domain
-An interface for the Replica (if any)
-Return the signer registered to a domain (if any).
-A domain name or number.
-The registered signer (or undefined)
-Discovers the governor domain of this nomad deployment and returns the -associated Core.
-The identifier of the governing domain
-Check whether the {@link MultiProvider} is aware of a domain.
-A domain name or number.
-true if the {@link Domain} has been registered, else false.
-Get the Connection associated with a doman (or error)
-A domain name or number.
-A Signer
-Get the CoreContracts for a given domain (or throw an error)
-A domain name or number.
-a CoreContracts object
-Get the registered {@link Domain} object (or error)
-A domain name or number.
-A {@link Domain}
-Get the Provider associated with a doman (or error)
-A domain name or number.
-A Provider
-Resolve the replica for the Home domain on the Remote domain (or throws).
-WARNING: do not hold references to this contract, as it will not be -reconnected in the event the chain connection changes.
-the sending domain
-the receiving domain
-An interface for the Replica
-Get the Signer associated with a doman (or error)
-A domain name or number.
-A Signer
-Ensure that the contracts on a given domain are connected to the -currently-registered signer or provider.
-Resgister a domain with the MultiProvider. This allows the multiprovider -to resolves tha domain info, and reference it by name or number.
-The Domain object to register.
-Register an ethers Provider for a specified domain.
-A domain name or number.
-An ethers Provider to be used by requests to that domain.
-Shortcut to register a provider by its HTTP RPC URL.
-A domain name or number.
-The HTTP RPC Url
-Register an ethers Signer for a specified domain.
-A domain name or number.
-An ethers Signer to be used by requests to that domain.
-A shortcut for registering a basic local privkey signer on a domain.
-A domain name or number.
-A private key string passed to ethers.Wallet
Resolve a domain name (or number) to the canonical number.
-This function is used extensively to disambiguate domains.
-A domain name or number.
-The canonical domain number.
-Resolve the name of a registered {@link Domain}, from its name or number.
-Similar to resolveDomain
.
A domain name or number.
-The name
-Remove the registered ethers Signer from a domain. This function will -attempt to preserve any Provider that was previously connected to this -domain.
-A domain name or number.
-Generated using TypeDoc
A deserialized Nomad message.
-The message body
-The keccak256 hash of the message body
-The committed root when this message was dispatched.
-The destination domain for this message
-The destination and nonceof this message.
-The domain from which the message was sent
-The messageHash committed to the tree in the Home contract.
-The index of the leaf in the contract.
-The domain nonce for this message
-The domain from which the message was sent. Alias for from
The receipt of the TX that dispatched this message
-The identifer for the recipient for this message
-The identifier for the sender of this message
-The hash of the transaction that dispatched this message
-Returns the timestamp after which it is possible to process this message.
-Note: return the timestamp after which it is possible to process messages -within an Update. The timestamp is most relevant during the time AFTER the -Update has been Relayed to the Replica and BEFORE the message in question -has been Processed.
-Considerations:
-The timestamp at which a message can confirm
-Checks whether the message has been delivered.
-true if processed, else false.
-Get all lifecycle events associated with this message
-An array of AnnotatedLifecycleEvent objects
-Get the Home Update
event associated with this message (if any)
An AnnotatedUpdate (if any)
-Get the Replica Process
event associated with this message (if any)
An AnnotatedProcess (if any)
-Get the Replica Update
event associated with this message (if any)
An AnnotatedUpdate (if any)
-Retrieve the replica status of this message.
-The ReplicaMessageStatus corresponding to the solidity -status of the message.
-Returns a promise that resolves when the message has been delivered.
-WARNING: May never resolve. Oftern takes hours to resolve.
-Polling options.
-Instantiate one or more messages from a receipt.
-the NomadContext object to use
-the domain on which the receipt was logged
-the receipt
-an array of NomadMessage objects
-Instantiate one or more messages from a tx hash.
-the NomadContext object to use
-the domain on which the receipt was logged
-an array of NomadMessage objects
-Instantiate EXACTLY one message from a receipt.
-the NomadContext object to use
-the domain on which the receipt was logged
-the receipt
-an array of NomadMessage objects
-Instantiate EXACTLY one message from a transaction has.
-the NomadContext object to use
-the domain on which the receipt was logged
-an array of NomadMessage objects
-Generated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
This package includes the NomadContext
, a management system for Nomad core
-contracts, which inherits from the MultiProvider
. NomadContext
allows
-developers to easily interact with the Nomad system on any number of networks.
yarn build
-
-Generated using TypeDoc
Generated using TypeDoc
Parse a serialized Nomad message from raw bytes.
-Generated using TypeDoc
Thoughtful guides to help you learn more about building cross-chain applications with Nomad.
+ setSearchTerm(event.currentTarget.value)} + placeholder="🔍 Search Nomad's guides..." /> +{props.description}
+{props.description}
+¯\_(ツ)_/¯ There is no guide matching matching your search.
+sudo
required.
+ {props.description}
++ {siteConfig.tagline} +
+{props.description}
+{MonorepoReleaseVersion}
+ •
+
+
+ + Read the{' '} + + release notes + {' '} + . +
+{AgentsReleaseVersion}
+ •
+
+
+ + Read the{' '} + + release notes + {' '} + . +
++ Thanks for contributing feedback about our docs! +
+ ) : ( + + ); + }; + return ( + <> +
Abstract class for managing collections of contracts
-