{"dist":{"shasum":"77d0bde1a093aa203a0d23f791207ac7cb695941","tarball":"https://registry.npmjs.org/@elrondnetwork/erdjs/-/erdjs-10.0.0-alpha.5.tgz","fileCount":301,"integrity":"sha512-AgLKumApywnvqV/j5k7GsEBTR+cBaq/GLHHltr0+td2Cj8eH+woxfhLr34HMVseHygrDigLc1noGsGY0YnWuYA==","signatures":[{"sig":"MEQCIEL+vzfF7BA83C7GGQty9xKEhCwfONOAcMxeXk9EgSDOAiBtyjMCfsv/ZcOdUgmSN/p0X3SewNVZCuQmQaLXuZ2wGg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":717331,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiUDmeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoIkA/+KMvlIHDG2YgqMJ8vVCmikx1FkheopDajFm/Y7B+Q+WtZag3N\r\nbjWpcgpzm0dKT2qNtmzEWg/x+GZ+pvtfXNrRBx01uZymyPNCEWrf9xesDxyS\r\nBKvP3sPamoDPHQJFxJlRFbNwddKp7lQ/LG9aCBpfbKgMYfmeFwPPuU9OOShx\r\npH1g3JjJdW94B7yADQAaPmeJpn6/Err+8leX4rrvRaNGiTWnwjMcyM+uq998\r\n/7u8k0CperrapKgia9NuO06IsymUHivYH6KsZnssGropztfavLp4zLbqFtYh\r\nR6GSqCvXglvgJeir6k+/SuA1cRrREZDNauxfZP9ZynfPGawM3ezyKwHTNhqQ\r\nZxunLccz9BJ83VJAQF2Y8WIyft1WSOre9JuElI8M4Hxu5K/ns7tQplT1cnHO\r\nJG37byxmE9u7A3UnenqfvY4Fln3pJRFG1z/0zyEAE8eFGjEoS8A5aBwl443t\r\nBPZ+SkiWHHtNdkskjORBJ04s6G7dM77XDCAUb5E1IqVXeibKBWcw4ZgGh+Qq\r\npvry3lERlJBGqarvZvdNwuDfCRZiRZTvVyRRy/KCXZo0Cv9w6h6FWsETacVk\r\ngVZ4lk/+Z9NzEHUbQbAceuNfUVKipleDmksJDm8acY90fFfbIB2KReXNpFwO\r\nprYM6I/X/CxN2XQv5Jkoq7PoRiPAIYFViEc=\r\n=8jOx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"out/index.js","name":"@elrondnetwork/erdjs","types":"out/index.d.js","author":{"name":"ElrondNetwork"},"readme":"# Elrond SDK for JavaScript\n\nElrond SDK for JavaScript and TypeScript (written in TypeScript).\n\n## Documentation\n\n[TypeDoc](https://elrondnetwork.github.io/elrond-sdk-docs/erdjs/latest)\n\n## CHANGELOG\n\n[CHANGELOG](CHANGELOG.md)\n\n## Distribution\n\n[npm](https://www.npmjs.com/package/@elrondnetwork/erdjs)\n\n## Usage\n\nThe most comprehensive usage examples are captured within the unit and the integration tests. Specifically, in the `*.spec.ts` files of the source code. For example:\n\n - [transaction.local.net.spec.ts](https://github.com/ElrondNetwork/elrond-sdk-erdjs/tree/main/src/transaction.local.net.spec.ts)\n - [address.spec.ts](https://github.com/ElrondNetwork/elrond-sdk-erdjs/tree/main/src/address.spec.ts)\n - [transactionPayloadBuilders.spec.ts](https://github.com/ElrondNetwork/elrond-sdk-erdjs/tree/main/src/smartcontracts/transactionPayloadBuilders.spec.ts)\n - [smartContract.spec.ts](https://github.com/ElrondNetwork/elrond-sdk-erdjs/tree/main/src/smartcontracts/smartContract.spec.ts)\n - [smartContract.local.net.spec.ts](https://github.com/ElrondNetwork/elrond-sdk-erdjs/tree/main/src/smartcontracts/smartContract.local.net.spec.ts)\n - [query.spec.ts](https://github.com/ElrondNetwork/elrond-sdk-erdjs/tree/main/src/smartcontracts/query.spec.ts)\n - [query.main.net.spec.ts](https://github.com/ElrondNetwork/elrond-sdk-erdjs/tree/main/src/smartcontracts/query.main.net.spec.ts)\n\nFor advanced smart contract interaction, using ABIs, please see the following test files:\n\n - [interaction.local.net.spec.ts](https://github.com/ElrondNetwork/elrond-sdk-erdjs/tree/main/src/smartcontracts/interaction.local.net.spec.ts) \n - [abiRegistry.spec.ts](https://github.com/ElrondNetwork/elrond-sdk-erdjs/tree/main/src/smartcontracts/typesystem/abiRegistry.spec.ts)\n - [argSerializer.spec.ts](https://github.com/ElrondNetwork/elrond-sdk-erdjs/tree/main/src/smartcontracts/argSerializer.spec.ts) \n\n### Fetching network parameters\n\n```\nlet provider = new ProxyProvider(\"https://localhost:7950\");\nlet network = await provider.getNetworkConfig();\nconsole.log(network.MinGasPrice);\nconsole.log(network.ChainID);\n```\n\n### Synchronizing an account object\n\nThe following snippet fetches (from the Network) the nonce and the balance of an account, and updates the local representation of the account.\n\n```\nlet addressOfAlice = new Address(\"erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th\");\nlet alice = new Account(addressOfAlice);\nlet aliceOnNetwork = await provider.getAccount(addressOfAlice);\nalice.update(aliceOnNetwork);\n\nconsole.log(alice.nonce);\nconsole.log(alice.balance);\n```\n\n### Creating value-transfer transactions\n\n```\nawait alice.sync(provider);\n\nlet tx = new Transaction({\n    data: new TransactionPayload(\"helloWorld\"),\n    gasLimit: new GasLimit(70000),\n    receiver: new Address(\"erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx\"),\n    value: Balance.egld(1)\n});\n\ntx.setNonce(alice.nonce);\nawait signer.sign(tx);\nawait provider.sendTransaction(tx);\n```\n\n### Creating Smart Contract transactions\n\n```\nlet contract = new SmartContract({ address: new Address(\"erd1qqqqqqqqqqqqqpgq3ytm9m8dpeud35v3us20vsafp77smqghd8ss4jtm0q\") });\nlet addressOfCarol = new Address(\"erd1k2s324ww2g0yj38qn2ch2jwctdy8mnfxep94q9arncc6xecg3xaq6mjse8\");\n\nlet tx = contract.call({\n    func: new ContractFunction(\"transferToken\"),\n    gasLimit: new GasLimit(5000000),\n    args: [new AddressValue(addressOfCarol), new U64Value(1000)]\n});\n\ntx.setNonce(alice.nonce);\nawait signer.sign(tx);\nawait provider.sendTransaction(tx);\n```\n\n### Querying Smart Contracts\n\n```\nlet contract = new SmartContract({ address: new Address(\"erd1qqqqqqqqqqqqqpgqxwakt2g7u9atsnr03gqcgmhcv38pt7mkd94q6shuwt\") });\nlet addressOfAlice = new Address(\"erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th\");\n\nlet response = await contract.runQuery(provider, {\n    func: new ContractFunction(\"getClaimableRewards\"),\n    args: [new AddressValue(addressOfAlice)]\n});\n\nconsole.log(response.isSuccess());\nconsole.log(response.returnData);\n```\n\n### Waiting for transactions to be processed\n\n```\nawait provider.sendTransaction(tx1);\nawait provider.sendTransaction(tx2);\nawait provider.sendTransaction(tx3);\n\nlet watcher = new TransactionWatcher(provider);\nawait Promise.all([watcher.awaitCompleted(tx1), watcher.awaitCompleted(tx2), watcher.awaitCompleted(tx3)]);\n```\n\n### Managing the sender nonce locally\n\n```\nlet aliceOnNetwork = await provider.getAccount(alice.address);\nalice.update(aliceOnNetwork);\n\ntxA.setNonce(alice.nonce);\nalice.incrementNonce();\ntxB.setNonce(alice.nonce);\nalice.incrementNonce();\n\nawait signer.sign(txA);\nawait signer.sign(txB);\n\nawait provider.sendTransaction(txA);\nawait provider.sendTransaction(txB);\n\nlet watcher = new TransactionWatcher(provider);\n\nawait watcher.awaitCompleted(txA);\nawait watcher.awaitCompleted(txB);\n```\n\n## Installation\n\n`erdjs` is delivered via [npm](https://www.npmjs.com/package/@elrondnetwork/erdjs), therefore it can be installed as follows:\n\n```\nnpm install @elrondnetwork/erdjs\n```\n\n## Development\n\nFeel free to skip this section if you are not a contributor.\n\n### Prerequisites\n\n`browserify` is required to compile the browser-friendly versions of `erdjs`. It can be installed as follows:\n\n```\nnpm install --global browserify\n```\n\n### Building the library\n\nIn order to compile `erdjs`, run the following:\n\n```\nnpm install\nnpm run compile\nnpm run compile-browser\nnpm run compile-browser-min\n```\n\n### Running the tests\n\n#### On NodeJS\n\nIn order to run the tests **on NodeJS**, do as follows:\n\n```\nnpm run tests-unit\nnpm run tests-localnet\nnpm run tests-devnet\nnpm run tests-testnet\nnpm run tests-mainnet\n```\n\n#### In the browser\n\nMake sure you have the package `http-server` installed globally.\n\n```\nnpm install --global http-server\n```\n\nIn order to run the tests **in the browser**, do as follows:\n\n```\nmake clean && npm run browser-tests\n```\n\n#### Notes\n\nFor the `localnet` tests, make sure you have a *local testnet* up & running. A *local testnet* can be started from the Elrond IDE or from [erdpy](https://docs.elrond.com/developers/setup-local-testnet/).\n","gitHead":"f8b2eda14ddf8ff70895eb54f3eb5e0f8e0931c9","license":"GPL-3.0-or-later","scripts":{"lint":"tslint --project .","test":"npm run tests-unit","compile":"tsc -p tsconfig.json && npm run copy-files","prepare":"npm run compile","pretest":"npm run compile","copy-files":"mkdir -p out/testutils/ && mkdir -p out/abi/ && cp -R src/abi/* out/abi/","tests-unit":"mocha $(find . -name '*.spec.ts' ! -name '*.net.spec.*')","tests-devnet":"mocha $(find . -name '*.dev.net.spec.ts')","browser-tests":"make clean && make browser-tests && http-server --port=9876 -o browser-tests/index.html","compile-proto":"npx pbjs -t static-module -w commonjs -o src/proto/compiled.js src/proto/transaction.proto && npx pbts -o src/proto/compiled.d.ts src/proto/compiled.js","tests-mainnet":"mocha $(find . -name '*.main.net.spec.ts')","tests-testnet":"mocha $(find . -name '*.test.net.spec.ts')","tests-localnet":"mocha $(find . -name '*.local.net.spec.ts')","compile-browser":"tsc -p tsconfig.json && browserify out/index.js -o out-browser/erdjs.js --standalone erdjs -p esmify","compile-browser-min":"tsc -p tsconfig.json && browserify out/index.js -o out-browser/erdjs.min.js --standalone erdjs -p esmify -p tinyify"},"_npmUser":{"name":"lucian.mincu","email":"lucian.mincu@elrond.com"},"deprecated":"WARNING: This project has been moved to @multiversx/sdk-core. Use @multiversx/sdk-core instead.","_npmVersion":"6.14.16","description":"Smart Contracts interaction framework","directories":{},"maintainers":[{"name":"stanislav","email":"sava.stanislav@gmail.com"},{"name":"tanghel","email":"tanghel@live.com"},{"name":"lucian.mincu","email":"lucian.mincu@elrond.com"},{"name":"ccorcoveanu","email":"cristi.corcoveanu@gmail.com"},{"name":"titel","email":"constantin.tovisi@gmail.com"},{"name":"valentinlup","email":"me@valentinlup.ro"},{"name":"arhtudormorar","email":"arhtudormorar@yahoo.com"},{"name":"andreibancioiu","email":"andrei.bancioiu@elrond.com"}],"_nodeVersion":"12.22.11","dependencies":{"axios":"0.24.0","bech32":"1.1.4","buffer":"6.0.3","keccak":"3.0.1","protobufjs":"6.10.2","json-bigint":"1.0.0","bignumber.js":"9.0.1","abort-controller":"3.0.0","json-duplicate-key-handle":"1.0.0","@elrondnetwork/transaction-decoder":"0.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chai":"4.2.0","mocha":"9.2.2","assert":"2.0.0","esmify":"2.1.1","tslint":"6.1.3","tinyify":"3.0.0","ts-node":"9.1.1","typedoc":"0.22.13","browserify":"17.0.0","typescript":"4.1.2","@types/chai":"4.2.11","@types/node":"13.13.2","@types/mocha":"9.1.0","@types/assert":"1.4.6","@types/protobufjs":"6.0.0","@elrondnetwork/erdjs-walletcore":"1.0.0","@elrondnetwork/erdjs-network-providers":"0.1.2"},"_npmOperationalInternal":{"tmp":"tmp/erdjs_10.0.0-alpha.5_1649424798508_0.2528607156134597","host":"s3://npm-registry-packages"},"_id":"@elrondnetwork/erdjs@10.0.0-alpha.5","version":"10.0.0-alpha.5"}