pendulum-chain / pendulum Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v3.0
License: GNU General Public License v3.0
See Parity docs for more information
2124
In order to add the spacewalk pallets to the amplitude runtime we first need to update all other Polkadot dependencies to v0.9.35 (since that's the version the spacewalk pallets are using).
set_fee_point
- 0.5%set_fee_to
- Addresspool currency symbol limit
= 50pallet-contracts
identity-pallet
We should have a dockerfile per runtime that we want to share, name it amplitude and testnet, so collator nodes can be easily run in either bare metal or virtual machines. This is the first step for putting CI in place.
The Dockerfile to take as an example is in scripts/Dockerfile.
Let's see if it can be used out of the box or if it needs to be tweaked.
Update SS58Prefix
and add it to the registry
Once pallet-contracts is implemented, add a chain extension for making quotes from the DIA oracle pallet available to smart contracts.
There is need to update support_url()
in Command.rs
. Currently it is pointing to https://github.com/paritytech/cumulus/issues/new.
It should point to https://github.com/pendulum-chain/pendulum/issues/new.
Since we want to launch Spacewalk on Amplitude, we need to include and configure the pallets in the Amplitude runtime. Before taking this step on Amplitude it might make sense however to first test the changes and upgrade on Foucoco.
This issue is about adding all the pallets included in spacewalk/pallets to the foucoco and amplitude runtime. Since they are not merged to main
, it makes sense to declare the dev/milestone-3
branch in the 'Cargo.toml' files. Eventually, we would probably create an extra polkadot-v0.9.35
branch in the spacewalk repository, but only after merging it to main
. Inspiration for the appropriate configuration of the pallets can be drawn from the mock.rs
files of each pallet in the spacewalk repository.
Fees are not yet handled: https://github.com/pendulum-chain/pendulum/blob/master/runtime/src/lib.rs#L411
Not required for internal testnet
Apparently this version fixes #17, so we might want to upgrade at some point.
This is a follow-up to #88. We should probably first check everything on Foucoco and only after doing so, add and configure it for the amplitude runtime.
pallet-treasury
, pallet-bounties
and pallet-child-bounties
parachain-staking
but set up as the session manager for pallet-session
pallet-collator-selection
in the runtime and keep it as the session managerparachain-staking
as defined in the [authoritative GSheet](https://docs.google.com/spreadsheets/d/1RBRHEUfXg_xP2CVj0uiHG6zk2sAQDBA0CM1JNwUmSoQ/edit#gid=2046453319)orml-tokens
and orml-currency
Redefine the chain-spec in order to remove insecure configuration for the mainnet chain. Particularly, there should not be any default account (such as Alice, Bob, ...) that receive some initial token allocation.
Upload specs files for connecting to Rococo live.
Motivation
As per request of SBP M2 reviewers, to provide an example of how can we test the AMM pallet.
What to do
Note: the branch should not be merged into master.
Please do
As we learned from the Zenlink research that integration is low effort. We should get started with integrating Zenlink on Foucoco.
Update bootNodes information with the node identities defined here.
polkadot-v0.9.36
versionorml-vesting
pallet-utility
democracy
configurations to short referendum cycles
LaunchPeriod
, VotingPeriod
and EnactmentPeriod
to 3 days eachRight now for compatibility purposes we were using the following nightly channel in rust-toolchain.toml
.
[toolchain]
channel = "nightly-2021-12-12"
components = ["rustfmt", "rls"]
targets = ["wasm32-unknown-unknown"]
Change rust-toolchain.toml
to use a latest working version of nightly, I am for example aiming to 1.63.0-nightly
.
The runtime of our testnet resides in the branch pendulum-legacy
.
The aim of this issue is to include this runtime in the main branch, under the folder runtime/testnet
.
Of course that besides the runtime itself, we need to include dependencies and related files.
Also, bump dependencies to version 0.9.24
Run benchmarks and weights for those pallets where WeightInfo
is still set to ()
It's been a while since we don't update the README with the more recent changes, and since the repo will have more visibility, we should create a proper introductory file and steps to build/run/use. We can link to our docs.pendulumchain.org too.
Follow the steps here https://github.com/paritytech/polkadot-launch to configure the config files we need to use polkadot-launch.
This way we optimize the testing workflow and gain speed
Due to lack of space in one of our gcloud VMs, our collator node and one of our validators stopped and so, our prototype.pendulumchain.org is not working properly.
We need to:
docker-compose.yml
file or docker-run
commandSee discussion on Polkassembly.
This change comprises:
We need to add and configure the spacewalk pallet for our pendulum chain. This includes the following tasks:
report_stellar_transaction
extrinsic you might have to write a small Rust script that takes a Stellar transaction, converts it to the xdr and prints out the bytes in hexadecimal (some inspiration might be drawn from the vaults deposit.rs code). For the redeem
extrinsic you might have to use the address conversion tool from https://prototype.pendulumchain.org/balances to get the binary representation for the stellar_vault_pub_key
field.We need to define the collateralization thresholds for the Stellar assets that we want to allow to be bridged. For this, we of course need to know which assets are to be bridged in the first place.
On Foucoco it might be enough to use one or two assets on Stellar's testnet. On Amplitude and Pendulum however, we need to use mainnet assets, and define the parameters for each of them separately.
While we can define and change these parameters anytime with an extrinsic call from the root account it might be a good idea to configure them in the genesis config already.
Feedback from SBP Milestone 3 review: The development runtime name is a bit misleading, as it seems that this is not merely a runtime for developers to use locally, but the Pendulum runtime intended for future deployment on Polkadot.
Let us just remove the development runtime all together.
After upgrading to polkadot v.0.9.16, and plugin the new collator's runtime in Rococo, I observe the following error messages:
2022-02-11 16:22:01 [Relaychain] error=RollingSessionWindow(SessionsUnavailable { kind: RuntimeApi(Execution { runtime_api_name: "SessionInfo", source: FailedToDecodeReturnValue { function: "session_info", error: Error { cause: Some(Error { cause: Some(Error { cause: Some(Error { cause: Some(Error { cause: None, desc: "Not enough data to fill buffer" }), desc: "Could not decode `Public.0`" }), desc: "Could not decode `Public.0`" }), desc: "Could not decode `SessionInfo::validators`" }), desc: "Could not decode `Option::Some(T)`" } } }), info: Some(SessionsUnavailableInfo { window_start: 0, window_end: 0, block_hash: 0xaaf2cd1b74b5f726895921259421b534124726263982522174147046b8827897 }) })
2022-02-11 16:22:01 [Relaychain] Received msg before first active leaves update. This is not expected - message will be dropped. msg=ActiveDisputes(Sender { complete: false })
2022-02-11 16:22:01 [Relaychain] error=Sender(AskActiveDisputesCanceled) ctx="on FromOverseer"
2022-02-11 16:22:01 [Relaychain] Received msg before first active leaves update. This is not expected - message will be dropped. msg=ActiveDisputes(Sender { complete: false })
2022-02-11 16:22:01 [Relaychain] error=Sender(AskActiveDisputesCanceled) ctx="on FromOverseer"
2022-02-11 16:22:03 [Relaychain] Failed to request addresses of authorities: CallingRuntime(RuntimeApiError(Application(UnknownBlock("State already discarded for BlockId::Hash(0x19957b7151fdd00a875d05233d788703952481976fdb4948422e80509fe6c1ac)"))))
Apparently as other users commented on Element we're not the only ones experiencing this.
Testing branch for this issue is legacy-bridge
.
bootnodes: [
"/dns4/penboot-roc-00.pendulumchain.tech/tcp/30335/p2p/12D3KooWERQvnnatnnBUqKf4Hsggm13Kfy8YbWZPsqNFfWJzFSyA",
"/dns4/penboot-roc-01.pendulumchain.tech/tcp/30335/p2p/12D3KooWERQvnnatnnBUqKf4Hsggm13Kfy8YbWZPsqNFfWJzFSyA"
]
According to this thread paritytech/polkadot#5639, a fix has been released for updating the dependencies of yamux
and fix a persistant error that made the runtime panicked.
The vault client is a core part of spacewalk. We need to make sure that it can connect to and communicate with the Pendulum chain.
Therefore, we should test if the vault client can connect to a locally running Pendulum chain. It might be that the extrinsic calls of the vault fail because of an error similar to what is described in this ticket. If this is the case, we should be able to fix them with the findings of that ticket.
Based on this announcement.
Please, make a priority upgrading your nodes connected to Kusama or Polkadot. For such purpose a new branch has been pushed to cumulus.
cumulus polkadot-0.9.16 branch: https://github.com/paritytech/cumulus/tree/polkadot-v0.9.16
For those of you working with the parachain template please find here the changes made from 0.9.15 to 0.9.16: substrate-developer-hub/substrate-parachain-template@polkadot-v0.9.15...polkadot-v0.9.16
Bump dependencies to v0.9.18. This will allow us to start integrating code from Spacewalk in that same version.
smart contracts need to be able to interact with native assets as if the were erc-20 tokens. A wrapper contract can be created around native assets, but needs some chain extensions to be able to work.
Replace pallet-sudo with pallet-democracy and other pallets that are required for pallet-democracy (e.g., collectives, scheduler, ...).
Also define a reasonable initial configuration for these pallets.
Bump to the latest Substrate/Polkadot version
parachain-staking
as the session manager of pallet-session
pallet-collator-selection
Action items:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.