Conversation
|
FYI, the issues regarding
|
| echo "" | ||
|
|
||
| # Track success/failure | ||
| declare -A RESULTS |
There was a problem hiding this comment.
-A fails on MacOS ... I put a lowercase -a and then all is fine.
| // working with the relay chain native token. We will need to adapt to that | ||
| // benchmark when we move to using the upstream pallet | ||
| let native_token_location: Location = Location::here(); | ||
| let asset = Box::new(VersionedLocation::from(native_token_location)); |
There was a problem hiding this comment.
Do we need to open a ticket for that ?
|
I tried to run the script and I have this error. How can I get it to work ? |
Did you try building with rust nightly? |
My issue was just that my version of rust was a bit old. I did a |
|
I have updated 2412 to the latest release. I uncommented Here the error : The verify function is failing. @TDemeco Any idea why it would fail ? |
@undercover-cactus did you implement the |
|
I have implemented it. I don't have an error with the wrong V anymore but I still can't have it working. After some digging, I think we could have an issue with In order to get the account the benchmark code use // Use benchmark_helper to generate the signature
let (public_bytes, signature_bytes) = T::benchmark_helper(&bounded_username[..]);
// Decode the public key and signature
let public = T::SigningPublicKey::decode(&mut &public_bytes[..])
.expect("benchmark_helper should return valid encoded public key");
let who_account: T::AccountId = public.into_account();
let who_lookup = T::Lookup::unlookup(who_account.clone());However when we look at the implementation of We end up with the |
TDemeco
left a comment
There was a problem hiding this comment.
Update this and don't forget to re-run all benchmarks for all runtimes to include pallet-im-online and pallet-identity weights
* Add `run_benchmarks.sh` script to run runtime benchmarks
* Sets up benchmark configs and directory structure to store weights
(`operator/runtime/<RUNTIME>/weights`)
* (naive) fixes to some benchmarks:
* `pallet_datahaven_native_transfer`:
* use a mock for `NativeTokenId`
* look at the balance difference of the treasury instead of the total
(this makes the benchmark agnostic to genesis setup)
* `snowbridge_pallet_system` / `snowbridge_pallet_system_v2` use native
token xcm location vs relay chain one. Add missing benchmark methods and
update fixture with valid data.
* `snowbridge_pallet_ethereum_client`: update fixtures with valid data
* `snowbrige_pallet_inbound_queue_v2`: set EthereumGatewayAddress when
initializing storage on benchmark and use a mock message processor ( as
fixture has `CreateAsset` payload which is not supported in the
`EigenLayerMessageProcessor`)
* `snowbridge_pallet_outbound_queue_v2`: add missing
`submit_delivery_receipt` benchmark which required a dedicated fixture
(all copied from the upstream pallet)
* `pallet_treasury`: Use an `ExistentialDeposit` of `1` on benchmark,
else payout fails.
* `pallet_transaction_payment`: Use a custom `WeightToFee` that makes
the Fee small, else account in benchmark cannot pay for fees (It is
funded a multiplier of `ExistentialDeposit` and is expected for that to
be enough, but it's not in our particular setup).
* comment out `pallet_identity` and `pallet_im_online` due to
incompatibilities (to be addressed later)
* Basic benchmark run to set `WeightInfo` from `weights` in configs
(real run should be done later using target hardware)
---------
Co-authored-by: Ahmad Kaouk <[email protected]>
Co-authored-by: Tobi Demeco <[email protected]>
Co-authored-by: undercover-cactus <[email protected]>
Co-authored-by: TDemeco <[email protected]>
run_benchmarks.shscript to run runtime benchmarksoperator/runtime/<RUNTIME>/weights)pallet_datahaven_native_transfer:NativeTokenIdsnowbridge_pallet_system/snowbridge_pallet_system_v2use native token xcm location vs relay chain one. Add missing benchmark methods and update fixture with valid data.snowbridge_pallet_ethereum_client: update fixtures with valid datasnowbrige_pallet_inbound_queue_v2: set EthereumGatewayAddress when initializing storage on benchmark and use a mock message processor ( as fixture hasCreateAssetpayload which is not supported in theEigenLayerMessageProcessor)snowbridge_pallet_outbound_queue_v2: add missingsubmit_delivery_receiptbenchmark which required a dedicated fixture (all copied from the upstream pallet)pallet_treasury: Use anExistentialDepositof1on benchmark, else payout fails.pallet_transaction_payment: Use a customWeightToFeethat makes the Fee small, else account in benchmark cannot pay for fees (It is funded a multiplier ofExistentialDepositand is expected for that to be enough, but it's not in our particular setup).pallet_identityandpallet_im_onlinedue to incompatibilities (to be addressed later)WeightInfofromweightsin configs (real run should be done later using target hardware)