Skip to content
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

Add Buffer.from checkSum to fix buffer concat could fail #746

Merged
merged 1 commit into from
May 14, 2024

Conversation

jiqiang90
Copy link
Contributor

Hi team, we are running stellar code in a sandbox, and in our production env we are prohibit to inject any additional modules into this sandbox.

In following code you can see we try to get .publicKey() from a keypair, this will throw an error
Failed to execute script. TypeError [ERR_INVALID_ARG_TYPE]: The "list[1]" argument must be an instance of Buffer or Uint8Array. Received an instance of Object, this is due to in sandbox env could not identify Unit8Array so it been treated as an object here.

const {NodeVM, VMScript} = require('vm2');
const {Keypair} = require('@stellar/stellar-base')

const vm = new NodeVM({
    require: {
        builtin: ['crypto'],
        external: true,
        context: 'sandbox',
        resolve: (moduleName) => {
            return require.resolve(moduleName, {paths: ['./']});
        },
    },
    wrapper: 'commonjs',
    sourceExtensions: ['js', 'cjs'],
});

try {
    vm.run(`
        const {Keypair} = require('@stellar/stellar-base')
        const sourceKeypair = Keypair.fromSecret(
            "SCQN3XGRO65BHNSWLSHYIR4B65AHLDUQ7YLHGIWQ4677AZFRS77TCZRB"
        );
        console.log(sourceKeypair.publicKey())
    `);
} catch (err) {
    console.error('Failed to execute script.', err);
}

We require minimal change within this pr, so it could still concat with Buffer. Thank you ~

Copy link
Contributor

@Shaptic Shaptic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting issue, can't hurt! 👍

@Shaptic Shaptic merged commit 45d8e81 into stellar:master May 14, 2024
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants