-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multi Group Transfer #424
base: master
Are you sure you want to change the base?
Multi Group Transfer #424
Conversation
c4a5a4d
to
0cd8a3d
Compare
@@ -118,7 +118,7 @@ export abstract class SignerProviderSimple extends SignerProvider { | |||
return signResult | |||
} | |||
|
|||
protected abstract getPublicKey(address: string): Promise<string> | |||
abstract getPublicKey(address: string): Promise<string> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please let me know if the SignerProviderSimple
can have this method public. Not important much, it would be easier to have a single method for build+sign+submit with just a PrivateKeyWallet
Guys openapi tests and tests are failing because the |
@h0ngcha0 the
Tried to troubleshoot but it will be a longer search, please let me know if you can think of the reason 🙏 |
I think there is a race condition here due to return await Promise.all(
buildTxResults.map(async (tx) => {
return await signer.signAndSubmitUnsignedTx({
signerAddress: params.signerAddress,
unsignedTx: tx.unsignedTx
})
})
) devnet mine one tx into block at a time, so if the 2nd tx gets in before the 1st one, it will report const results: SignTransferTxResult[] = []
for (const tx of buildTxResults) {
const result = await signer.signAndSubmitUnsignedTx({
signerAddress: params.signerAddress,
unsignedTx: tx.unsignedTx
})
results.push(result)
}
return results it should work. |
# Conflicts: # .project.json # artifacts/add/Add.ral.json # artifacts/add/AddMain.ral.json # artifacts/add/DestroyAdd.ral.json # artifacts/greeter/Greeter.ral.json # artifacts/greeter/GreeterMain.ral.json # artifacts/nft/DeprecatedNFTTest1.ral.json # artifacts/nft/DeprecatedNFTTest2.ral.json # artifacts/nft/DeprecatedNFTTest3.ral.json # artifacts/nft/DeprecatedNFTTest4.ral.json # artifacts/nft/DeprecatedNFTTest5.ral.json # artifacts/nft/DeprecatedNFTTest6.ral.json # artifacts/nft/DeprecatedNFTTest7.ral.json # artifacts/nft/MintNFTTest.ral.json # artifacts/nft/NFTCollectionTest.ral.json # artifacts/nft/NFTCollectionWithRoyaltyTest.ral.json # artifacts/nft/NFTTest.ral.json # artifacts/nft/NFTTestStd.ral.json # artifacts/nft/WithdrawNFTCollectionTest.ral.json # artifacts/nft/WrongNFTTest.ral.json # artifacts/sub/Sub.ral.json # artifacts/test/Assert.ral.json # artifacts/test/CallScript0.ral.json # artifacts/test/CallScript1.ral.json # artifacts/test/Debug.ral.json # artifacts/test/InsertIntoMap.ral.json # artifacts/test/MapTest.ral.json # artifacts/test/MapTestWrapper.ral.json # artifacts/test/MetaData.ral.json # artifacts/test/MultiDeposit.ral.json # artifacts/test/MultiWithdraw.ral.json # artifacts/test/OwnerOnly.ral.json # artifacts/test/RemoveFromMap.ral.json # artifacts/test/TemplateArrayVar.ral.json # artifacts/test/TestAssert.ral.json # artifacts/test/Transact.ral.json # artifacts/test/UpdateMapValue.ral.json # artifacts/test/UpdateUserAccount.ral.json # artifacts/test/UserAccount.ral.json # artifacts/test/Warnings.ral.json # artifacts/token/FakeTokenTest.ral.json # artifacts/token/TokenTest.ral.json # artifacts/token/TokenTestStd.ral.json # docker/docker-compose.yml # packages/web3-test/src/test-wallet.ts # test/transaction.test.ts
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 👍
Demonstration of the future node's multi group transfer and how it could simplify transfers on Lending example.
Done some perf testing too :
The reason of the latter multi-group transfers taking longer time than the first one is that this is devnet where block is internally mined for incoming transactions.
Also please take into consideration that this is my laptop with many apps running, not a benchmark.