├── .tool-versions ├── packages ├── cli │ ├── .eslintignore │ ├── .npmrc │ ├── contracts │ │ ├── Touch.tvc │ │ ├── Kamikadze.tvc │ │ ├── Touch.d.ts │ │ ├── Kamikadze.d.ts │ │ ├── Kamikadze.sol │ │ ├── Kamikadze.abi.json │ │ ├── Touch.sol │ │ └── Touch.abi.json │ ├── .gitignore │ ├── index.ts │ ├── .prettierrc │ ├── utils.ts │ └── LICENSE ├── lib-react-native-jsi │ ├── cpp │ │ ├── empty.cpp │ │ ├── request_data_t.h │ │ ├── Blob.h │ │ └── TonClientJsiBlobManager.h │ ├── example63 │ │ ├── .watchmanconfig │ │ ├── .gitattributes │ │ ├── app.json │ │ ├── babel.config.js │ │ ├── ios │ │ │ ├── example63 │ │ │ │ ├── Images.xcassets │ │ │ │ │ ├── Contents.json │ │ │ │ │ └── AppIcon.appiconset │ │ │ │ │ │ └── Contents.json │ │ │ │ ├── AppDelegate.h │ │ │ │ └── main.m │ │ │ ├── example63.xcworkspace │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata │ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ ├── example63Tests │ │ │ │ └── Info.plist │ │ │ ├── example63-tvOSTests │ │ │ │ └── Info.plist │ │ │ └── Podfile │ │ ├── .eslintrc.js │ │ ├── .buckconfig │ │ ├── android │ │ │ ├── app │ │ │ │ ├── debug.keystore │ │ │ │ ├── src │ │ │ │ │ ├── main │ │ │ │ │ │ ├── res │ │ │ │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ │ │ ├── values │ │ │ │ │ │ │ │ ├── strings.xml │ │ │ │ │ │ │ │ └── styles.xml │ │ │ │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ │ │ └── mipmap-xxxhdpi │ │ │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ │ └── java │ │ │ │ │ │ │ └── com │ │ │ │ │ │ │ └── example63 │ │ │ │ │ │ │ └── MainActivity.java │ │ │ │ │ └── debug │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ ├── proguard-rules.pro │ │ │ │ └── build_defs.bzl │ │ │ ├── gradle │ │ │ │ └── wrapper │ │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ │ └── gradle-wrapper.properties │ │ │ ├── settings.gradle │ │ │ └── build.gradle │ │ ├── .prettierrc.js │ │ ├── __tests__ │ │ │ └── App-test.js │ │ ├── index.js │ │ ├── metro.config.js │ │ ├── package.json │ │ └── .gitignore │ ├── example64 │ │ ├── .watchmanconfig │ │ ├── .editorconfig │ │ ├── app.json │ │ ├── babel.config.js │ │ ├── ios │ │ │ ├── example64 │ │ │ │ ├── Images.xcassets │ │ │ │ │ ├── Contents.json │ │ │ │ │ └── AppIcon.appiconset │ │ │ │ │ │ └── Contents.json │ │ │ │ ├── AppDelegate.h │ │ │ │ └── main.m │ │ │ ├── example64.xcworkspace │ │ │ │ └── contents.xcworkspacedata │ │ │ ├── example64Tests │ │ │ │ └── Info.plist │ │ │ └── Podfile │ │ ├── .eslintrc.js │ │ ├── .buckconfig │ │ ├── .gitattributes │ │ ├── android │ │ │ ├── app │ │ │ │ ├── debug.keystore │ │ │ │ ├── src │ │ │ │ │ ├── main │ │ │ │ │ │ ├── res │ │ │ │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ │ │ ├── values │ │ │ │ │ │ │ │ ├── strings.xml │ │ │ │ │ │ │ │ └── styles.xml │ │ │ │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ │ │ └── mipmap-xxxhdpi │ │ │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ │ ├── java │ │ │ │ │ │ │ └── com │ │ │ │ │ │ │ │ └── example64 │ │ │ │ │ │ │ │ └── MainActivity.java │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ └── debug │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ ├── proguard-rules.pro │ │ │ │ └── build_defs.bzl │ │ │ ├── gradle │ │ │ │ └── wrapper │ │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ │ └── gradle-wrapper.properties │ │ │ ├── settings.gradle │ │ │ └── build.gradle │ │ ├── .prettierrc.js │ │ ├── __tests__ │ │ │ └── App-test.js │ │ ├── index.js │ │ ├── metro.config.js │ │ ├── package.json │ │ └── .gitignore │ ├── example65 │ │ ├── .watchmanconfig │ │ ├── .editorconfig │ │ ├── app.json │ │ ├── .eslintrc.js │ │ ├── babel.config.js │ │ ├── ios │ │ │ ├── example65 │ │ │ │ ├── Images.xcassets │ │ │ │ │ ├── Contents.json │ │ │ │ │ └── AppIcon.appiconset │ │ │ │ │ │ └── Contents.json │ │ │ │ ├── AppDelegate.h │ │ │ │ └── main.m │ │ │ ├── example65.xcworkspace │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata │ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ ├── example65Tests │ │ │ │ └── Info.plist │ │ │ └── Podfile │ │ ├── .buckconfig │ │ ├── .gitattributes │ │ ├── android │ │ │ ├── app │ │ │ │ ├── debug.keystore │ │ │ │ ├── src │ │ │ │ │ ├── main │ │ │ │ │ │ ├── res │ │ │ │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ │ │ ├── values │ │ │ │ │ │ │ │ ├── strings.xml │ │ │ │ │ │ │ │ └── styles.xml │ │ │ │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ │ │ └── mipmap-xxxhdpi │ │ │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ │ ├── java │ │ │ │ │ │ │ └── com │ │ │ │ │ │ │ │ └── example65 │ │ │ │ │ │ │ │ └── MainActivity.java │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ └── debug │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ ├── proguard-rules.pro │ │ │ │ └── build_defs.bzl │ │ │ ├── gradle │ │ │ │ └── wrapper │ │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ │ └── gradle-wrapper.properties │ │ │ ├── settings.gradle │ │ │ └── build.gradle │ │ ├── .prettierrc.js │ │ ├── __tests__ │ │ │ └── App-test.js │ │ ├── index.js │ │ ├── metro.config.js │ │ ├── package.json │ │ └── .gitignore │ ├── ios │ │ ├── lib-react-native-jsi.xcodeproj │ │ │ └── project.pbxproj │ │ ├── BlobManager.mm │ │ ├── UIResponder+TonClientJsi.h │ │ └── TONJSIExecutorInitializer.h │ ├── src │ │ └── __tests__ │ │ │ └── index.test.tsx │ ├── tsconfig.build.json │ ├── .gitattributes │ ├── babel.config.js │ ├── .yarnrc │ ├── android │ │ ├── src │ │ │ └── main │ │ │ │ ├── AndroidManifest.xml │ │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── tonlabs │ │ │ │ └── tonclientjsi │ │ │ │ ├── TonClientJsiPackage.java │ │ │ │ └── TonClientJsiBlobManager.java │ │ ├── gradle.properties │ │ ├── .settings │ │ │ └── org.eclipse.buildship.core.prefs │ │ └── .project │ ├── .editorconfig │ ├── scripts │ │ └── bootstrap.js │ ├── tsconfig.json │ └── .gitignore ├── tests-react-native │ ├── .watchmanconfig │ ├── .ruby-version │ ├── .bundle │ │ └── config │ ├── app.json │ ├── babel.config.js │ ├── android │ │ ├── app │ │ │ ├── src │ │ │ │ ├── main │ │ │ │ │ ├── res │ │ │ │ │ │ ├── values │ │ │ │ │ │ │ ├── strings.xml │ │ │ │ │ │ │ └── styles.xml │ │ │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ │ └── mipmap-xxxhdpi │ │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ ├── java │ │ │ │ │ │ └── com │ │ │ │ │ │ │ └── testsdk │ │ │ │ │ │ │ └── MainActivity.java │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ └── debug │ │ │ │ │ └── AndroidManifest.xml │ │ │ ├── debug.keystore │ │ │ ├── proguard-rules.pro │ │ │ └── build_defs.bzl │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ └── settings.gradle │ ├── ios │ │ ├── TestSDK │ │ │ ├── Images.xcassets │ │ │ │ ├── Contents.json │ │ │ │ └── AppIcon.appiconset │ │ │ │ │ └── Contents.json │ │ │ ├── AppDelegate.h │ │ │ └── main.m │ │ ├── TestSDKTests │ │ │ └── Info.plist │ │ └── Podfile │ ├── .buckconfig │ ├── Gemfile │ ├── index.js │ ├── node-mock │ │ ├── module │ │ │ └── index.js │ │ ├── fs │ │ │ └── index.js │ │ ├── path │ │ │ └── index.js │ │ ├── stream │ │ │ └── index.js │ │ ├── util │ │ │ └── index.js │ │ └── constants │ │ │ └── index.js │ ├── .gitignore │ └── package.json ├── tests-react-native-jsi │ ├── .watchmanconfig │ ├── .gitattributes │ ├── app.json │ ├── babel.config.js │ ├── android │ │ ├── app │ │ │ ├── src │ │ │ │ ├── main │ │ │ │ │ ├── res │ │ │ │ │ │ ├── values │ │ │ │ │ │ │ ├── strings.xml │ │ │ │ │ │ │ └── styles.xml │ │ │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ │ └── mipmap-xxxhdpi │ │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ ├── java │ │ │ │ │ │ └── com │ │ │ │ │ │ │ └── tests_runner │ │ │ │ │ │ │ └── MainActivity.java │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ └── debug │ │ │ │ │ └── AndroidManifest.xml │ │ │ ├── debug.keystore │ │ │ ├── proguard-rules.pro │ │ │ └── build_defs.bzl │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── settings.gradle │ │ └── build.gradle │ ├── ios │ │ ├── tests_runner │ │ │ ├── Images.xcassets │ │ │ │ ├── Contents.json │ │ │ │ └── AppIcon.appiconset │ │ │ │ │ └── Contents.json │ │ │ ├── AppDelegate.h │ │ │ └── main.m │ │ ├── tests_runner.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ ├── tests_runnerTests │ │ │ └── Info.plist │ │ ├── tests_runner-tvOSTests │ │ │ └── Info.plist │ │ └── Podfile │ ├── .buckconfig │ ├── node-mock │ │ ├── fs │ │ │ └── index.js │ │ ├── module │ │ │ └── index.js │ │ ├── path │ │ │ └── index.js │ │ ├── process │ │ │ └── index.js │ │ ├── stream │ │ │ └── index.js │ │ ├── util │ │ │ └── index.js │ │ └── constants │ │ │ └── index.js │ ├── index.js │ └── package.json ├── core │ ├── src │ │ ├── version.ts │ │ ├── index.ts │ │ └── errors.ts │ ├── .npmignore │ ├── tsconfig.json │ ├── before-compile.js │ └── package.json ├── lib-web │ ├── .npmignore │ ├── example │ │ ├── public │ │ │ ├── robots.txt │ │ │ ├── favicon.ico │ │ │ ├── logo192.png │ │ │ ├── logo512.png │ │ │ └── manifest.json │ │ ├── src │ │ │ ├── setupTests.js │ │ │ ├── App.css │ │ │ ├── index.css │ │ │ ├── reportWebVitals.js │ │ │ └── index.js │ │ ├── config-overrides.js │ │ ├── .gitignore │ │ ├── README.md │ │ └── package.json │ ├── build │ │ └── Cargo.toml │ ├── package.json │ └── README.md ├── tests │ ├── contracts │ │ ├── abi_v1 │ │ │ ├── Events.tvc │ │ │ ├── Hello.tvc │ │ │ ├── Deployee.tvc │ │ │ ├── Deployer.tvc │ │ │ ├── Setcode.tvc │ │ │ ├── Setcode2.tvc │ │ │ ├── Subscription.tvc │ │ │ ├── WalletContract.tvc │ │ │ ├── CheckInitParams.tvc │ │ │ ├── WalletContract.abi.json │ │ │ ├── Hello.abi.json │ │ │ ├── Deployee.abi.json │ │ │ ├── Setcode2.sol │ │ │ ├── Events.sol │ │ │ ├── Setcode2.abi.json │ │ │ ├── Setcode.sol │ │ │ ├── Events.abi.json │ │ │ ├── Setcode.abi.json │ │ │ ├── Deployee.sol │ │ │ ├── Hello.sol │ │ │ └── CheckInitParams.abi.json │ │ └── abi_v2 │ │ │ ├── Events.tvc │ │ │ ├── Hello.tvc │ │ │ ├── Sensor.tvc │ │ │ ├── Deployee.tvc │ │ │ ├── Deployer.tvc │ │ │ ├── Setcode.tvc │ │ │ ├── Setcode2.tvc │ │ │ ├── MultiTouch.tvc │ │ │ ├── InitCodeHash.tvc │ │ │ ├── Subscription.tvc │ │ │ ├── WalletContract.tvc │ │ │ ├── CheckInitParams.tvc │ │ │ ├── InitCodeHashOld.tvc │ │ │ ├── InitCodeHashOld.sol │ │ │ ├── InitCodeHash.sol │ │ │ ├── Sensor.sol │ │ │ ├── WalletContract.abi.json │ │ │ ├── Hello.abi.json │ │ │ ├── Setcode.sol │ │ │ ├── Setcode2.sol │ │ │ ├── Sensor.abi.json │ │ │ ├── Deployee.abi.json │ │ │ ├── MultiTouch.sol │ │ │ ├── Events.sol │ │ │ ├── InitCodeHashOld.abi.json │ │ │ ├── Setcode.abi.json │ │ │ ├── Setcode2.abi.json │ │ │ ├── InitCodeHash.abi.json │ │ │ ├── Events.abi.json │ │ │ ├── MultiTouch.abi.json │ │ │ ├── Deployee.sol │ │ │ └── Hello.sol │ ├── tsconfig.json │ ├── src │ │ └── index.ts │ └── package.json ├── lib-react-native │ ├── android │ │ ├── src │ │ │ └── main │ │ │ │ ├── AndroidManifest.xml │ │ │ │ └── java │ │ │ │ └── tonlabs │ │ │ │ └── tonclient │ │ │ │ ├── TonClientJsonInterface.java │ │ │ │ └── TonClientPackage.java │ │ ├── build │ │ │ └── Cargo.toml │ │ ├── lib │ │ │ ├── Cargo.toml │ │ │ └── .cargo │ │ │ │ └── config │ │ └── build.gradle │ ├── ios │ │ ├── TonClientModule.xcodeproj │ │ │ ├── project.xcworkspace │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ ├── xcuserdata │ │ │ │ │ └── michaelvlasov.xcuserdatad │ │ │ │ │ │ └── UserInterfaceState.xcuserstate │ │ │ │ └── xcshareddata │ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata │ │ │ │ └── michaelvlasov.xcuserdatad │ │ │ │ └── xcschemes │ │ │ │ └── xcschememanagement.plist │ │ ├── build │ │ │ └── Cargo.toml │ │ ├── TonClientModule.xcworkspace │ │ │ ├── xcshareddata │ │ │ │ ├── WorkspaceSettings.xcsettings │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ ├── xcuserdata │ │ │ │ └── michaelvlasov.xcuserdatad │ │ │ │ │ └── UserInterfaceState.xcuserstate │ │ │ └── contents.xcworkspacedata │ │ ├── TonClientModule.h │ │ └── lib │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ └── lib.rs │ ├── .npmignore │ ├── TonClientModule.podspec │ ├── package.json │ └── index.js ├── lib-node │ ├── lib │ │ ├── package.json │ │ ├── Cargo.toml │ │ ├── src │ │ │ └── lib.rs │ │ └── tonclient.h │ ├── build │ │ └── Cargo.toml │ └── package.json ├── tests-web │ ├── tsconfig.json │ ├── web │ │ └── index.html │ ├── index.js │ ├── entry.js │ └── package.json └── tests-node │ ├── package.json │ └── run.js ├── .cargo └── config.toml ├── docs ├── assets │ ├── icons.png │ ├── icons@2x.png │ ├── widgets.png │ └── widgets@2x.png ├── media │ └── ton-sdk-blue.png └── .nojekyll ├── media └── ton-sdk-blue.png ├── .env ├── lerna.json ├── tsconfig.test.json ├── tsconfig.build.json ├── tsconfig.json ├── tsconfig.base.json └── .gitignore /.tool-versions: -------------------------------------------------------------------------------- 1 | nodejs 14.16.0 2 | -------------------------------------------------------------------------------- /packages/cli/.eslintignore: -------------------------------------------------------------------------------- 1 | **/*.d.ts 2 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/cpp/empty.cpp: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/cli/.npmrc: -------------------------------------------------------------------------------- 1 | engine-strict = true 2 | -------------------------------------------------------------------------------- /packages/tests-react-native/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /packages/tests-react-native/.ruby-version: -------------------------------------------------------------------------------- 1 | 2.7.4 2 | -------------------------------------------------------------------------------- /.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | target-dir = "target" 3 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /packages/core/src/version.ts: -------------------------------------------------------------------------------- 1 | export const packageVersion = "1.49.2"; 2 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/ios/lib-react-native-jsi.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/src/__tests__/index.test.tsx: -------------------------------------------------------------------------------- 1 | it.todo('write a test'); 2 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig" 3 | } 4 | -------------------------------------------------------------------------------- /docs/assets/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/docs/assets/icons.png -------------------------------------------------------------------------------- /media/ton-sdk-blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/media/ton-sdk-blue.png -------------------------------------------------------------------------------- /packages/lib-web/.npmignore: -------------------------------------------------------------------------------- 1 | publish/ 2 | lib/pkg/ 3 | **/*.lock 4 | *.wasm 5 | *.tgz 6 | index.js 7 | -------------------------------------------------------------------------------- /docs/assets/icons@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/docs/assets/icons@2x.png -------------------------------------------------------------------------------- /docs/assets/widgets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/docs/assets/widgets.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/.editorconfig: -------------------------------------------------------------------------------- 1 | # Windows files 2 | [*.bat] 3 | end_of_line = crlf 4 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/.editorconfig: -------------------------------------------------------------------------------- 1 | # Windows files 2 | [*.bat] 3 | end_of_line = crlf 4 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "testApp", 3 | "displayName": "testApp" 4 | } 5 | -------------------------------------------------------------------------------- /packages/tests-react-native/.bundle/config: -------------------------------------------------------------------------------- 1 | BUNDLE_PATH: "vendor/bundle" 2 | BUNDLE_FORCE_RUBY_PLATFORM: 1 -------------------------------------------------------------------------------- /packages/tests-react-native/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TestSDK", 3 | "displayName": "TestSDK" 4 | } 5 | -------------------------------------------------------------------------------- /docs/assets/widgets@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/docs/assets/widgets@2x.png -------------------------------------------------------------------------------- /docs/media/ton-sdk-blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/docs/media/ton-sdk-blue.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "example63", 3 | "displayName": "example63" 4 | } -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "example64", 3 | "displayName": "example64" 4 | } -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "example65", 3 | "displayName": "example65" 4 | } -------------------------------------------------------------------------------- /packages/cli/contracts/Touch.tvc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/cli/contracts/Touch.tvc -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | # specific for windows script files 3 | *.bat text eol=crlf -------------------------------------------------------------------------------- /packages/lib-web/example/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /.env: -------------------------------------------------------------------------------- 1 | TON_USE_SE=true 2 | TON_NETWORK_ADDRESS=http://0.0.0.0 3 | #TON_USE_SE=false 4 | #TON_NETWORK_ADDRESS=cinet.tonlabs.io 5 | -------------------------------------------------------------------------------- /packages/cli/contracts/Kamikadze.tvc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/cli/contracts/Kamikadze.tvc -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/ios/BlobManager.mm: -------------------------------------------------------------------------------- 1 | #import "../cpp/BlobManager.cpp" // compile BlobManager.cpp as Objective-C++ 2 | -------------------------------------------------------------------------------- /packages/core/.npmignore: -------------------------------------------------------------------------------- 1 | * 2 | !src/**/* 3 | !dist/**/* 4 | dist/**/*.test.* 5 | !package.json 6 | !README.md 7 | **/*.map 8 | src/ 9 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: ['module:metro-react-native-babel-preset'], 3 | }; 4 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: ['module:metro-react-native-babel-preset'], 3 | }; 4 | -------------------------------------------------------------------------------- /packages/tests-react-native/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: ['module:metro-react-native-babel-preset'], 3 | }; 4 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | extends: '@react-native-community', 4 | }; 5 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v1/Events.tvc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests/contracts/abi_v1/Events.tvc -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v1/Hello.tvc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests/contracts/abi_v1/Hello.tvc -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/Events.tvc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests/contracts/abi_v2/Events.tvc -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/Hello.tvc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests/contracts/abi_v2/Hello.tvc -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/Sensor.tvc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests/contracts/abi_v2/Sensor.tvc -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: ['module:metro-react-native-babel-preset'], 3 | }; 4 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: ['module:metro-react-native-babel-preset'], 3 | }; 4 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: ['module:metro-react-native-babel-preset'], 3 | }; 4 | -------------------------------------------------------------------------------- /packages/lib-web/example/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-web/example/public/favicon.ico -------------------------------------------------------------------------------- /packages/lib-web/example/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-web/example/public/logo192.png -------------------------------------------------------------------------------- /packages/lib-web/example/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-web/example/public/logo512.png -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v1/Deployee.tvc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests/contracts/abi_v1/Deployee.tvc -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v1/Deployer.tvc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests/contracts/abi_v1/Deployer.tvc -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v1/Setcode.tvc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests/contracts/abi_v1/Setcode.tvc -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v1/Setcode2.tvc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests/contracts/abi_v1/Setcode2.tvc -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/Deployee.tvc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests/contracts/abi_v2/Deployee.tvc -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/Deployer.tvc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests/contracts/abi_v2/Deployer.tvc -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/Setcode.tvc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests/contracts/abi_v2/Setcode.tvc -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/Setcode2.tvc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests/contracts/abi_v2/Setcode2.tvc -------------------------------------------------------------------------------- /packages/tests-react-native/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | TestSDK 3 | 4 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/MultiTouch.tvc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests/contracts/abi_v2/MultiTouch.tvc -------------------------------------------------------------------------------- /docs/.nojekyll: -------------------------------------------------------------------------------- 1 | TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. -------------------------------------------------------------------------------- /packages/tests-react-native/ios/TestSDK/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v1/Subscription.tvc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests/contracts/abi_v1/Subscription.tvc -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v1/WalletContract.tvc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests/contracts/abi_v1/WalletContract.tvc -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/InitCodeHash.tvc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests/contracts/abi_v2/InitCodeHash.tvc -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/Subscription.tvc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests/contracts/abi_v2/Subscription.tvc -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/WalletContract.tvc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests/contracts/abi_v2/WalletContract.tvc -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | tests_runner 3 | 4 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v1/CheckInitParams.tvc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests/contracts/abi_v1/CheckInitParams.tvc -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/CheckInitParams.tvc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests/contracts/abi_v2/CheckInitParams.tvc -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/InitCodeHashOld.tvc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests/contracts/abi_v2/InitCodeHashOld.tvc -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/.yarnrc: -------------------------------------------------------------------------------- 1 | # Override Yarn command so we can automatically setup the repo on running `yarn` 2 | 3 | yarn-path "scripts/bootstrap.js" 4 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/ios/tests_runner/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/tests-react-native/android/app/debug.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests-react-native/android/app/debug.keystore -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/ios/example63/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/ios/example64/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/ios/example65/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/cli/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | *.tgz 3 | *.js 4 | !contracts/*.js 5 | *.d.ts 6 | !contracts/*.d.ts 7 | !package-lock.json 8 | *.code 9 | *.debug.json 10 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/android/app/debug.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests-react-native-jsi/android/app/debug.keystore -------------------------------------------------------------------------------- /packages/tests-react-native/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | extends: '@react-native-community', 4 | env: { 5 | browser: true, 6 | }, 7 | }; 8 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | extends: '@react-native-community', 4 | env: { 5 | browser: true, 6 | }, 7 | }; 8 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/android/app/debug.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example63/android/app/debug.keystore -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/.gitattributes: -------------------------------------------------------------------------------- 1 | # Windows files should use crlf line endings 2 | # https://help.github.com/articles/dealing-with-line-endings/ 3 | *.bat text eol=crlf 4 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/android/app/debug.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example64/android/app/debug.keystore -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/.gitattributes: -------------------------------------------------------------------------------- 1 | # Windows files should use crlf line endings 2 | # https://help.github.com/articles/dealing-with-line-endings/ 3 | *.bat text eol=crlf 4 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/android/app/debug.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example65/android/app/debug.keystore -------------------------------------------------------------------------------- /packages/cli/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./compile" 2 | export * from "./giver" 3 | export * from "./graphql" 4 | export * from "./kamikadze" 5 | export * from "./touch" 6 | export * from "./utils" 7 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/.prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | bracketSpacing: false, 3 | jsxBracketSameLine: true, 4 | singleQuote: true, 5 | trailingComma: 'all', 6 | }; 7 | -------------------------------------------------------------------------------- /packages/tests-react-native/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests-react-native/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests-react-native-jsi/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/android/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /packages/lib-react-native/android/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /packages/lib-node/lib/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ever-sdk-node-js", 3 | "version": "0.11.2", 4 | "description": "TON Client Library for Node.Js", 5 | "scripts": { 6 | "build": "node-gyp rebuild" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/tests-react-native/Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | # You may use http://rbenv.org/ or https://rvm.io/ to install and use this version 3 | ruby '2.7.4' 4 | gem 'cocoapods', '~> 1.11', '>= 1.11.2' 5 | -------------------------------------------------------------------------------- /packages/tests-react-native/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests-react-native/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/tests-react-native/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests-react-native/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example63/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example64/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example65/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /packages/tests-react-native/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests-react-native/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/tests-react-native/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests-react-native/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/.prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | bracketSpacing: false, 3 | jsxBracketSameLine: true, 4 | singleQuote: true, 5 | trailingComma: 'all', 6 | arrowParens: 'avoid', 7 | }; 8 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/.prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | bracketSpacing: false, 3 | jsxBracketSameLine: true, 4 | singleQuote: true, 5 | trailingComma: 'all', 6 | arrowParens: 'avoid', 7 | }; 8 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests-react-native-jsi/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests-react-native-jsi/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests-react-native-jsi/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/tests-react-native/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests-react-native/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- 1 | { 2 | "tagVersionPrefix": "", 3 | "packages": [ 4 | "packages/*" 5 | ], 6 | "version": "1.49.2", 7 | "command": { 8 | "version": { 9 | "message": "Release" 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests-react-native-jsi/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests-react-native-jsi/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/tests-react-native/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests-react-native/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /packages/tests-react-native/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests-react-native/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /packages/tests-react-native/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests-react-native/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests-react-native-jsi/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests-react-native-jsi/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /packages/tests-react-native/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests-react-native/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /packages/tests-react-native/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests-react-native/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /tsconfig.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true 4 | }, 5 | "files": [], 6 | "include": [], 7 | "references": [ 8 | { 9 | "path": "./packages/ton-client/src/__tests__/" 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example63/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example63/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | example63 3 | com.example63.blobs 4 | 5 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example64/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example64/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | example64 3 | com.example64.blobs 4 | 5 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example65/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example65/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | example65 3 | com.example65.blobs 4 | 5 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests-react-native-jsi/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests-react-native-jsi/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example63/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example63/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example63/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example64/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example64/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example64/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example65/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example65/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example65/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/tests-react-native-jsi/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/android/gradle.properties: -------------------------------------------------------------------------------- 1 | TonClientJsi_kotlinVersion=1.3.50 2 | TonClientJsi_compileSdkVersion=29 3 | TonClientJsi_buildToolsVersion=29.0.2 4 | TonClientJsi_targetSdkVersion=29 5 | TonClientJsi_ndkVersion=21.3.6528147 6 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example63/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example63/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example63/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example63/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example64/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example64/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example64/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example64/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example65/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example65/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example65/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example65/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /packages/tests-react-native/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'TestSDK' 2 | apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) 3 | include ':app' 4 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example63/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example64/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native-jsi/example65/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /packages/lib-react-native/ios/TonClientModule.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'tests_runner' 2 | apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) 3 | include ':app' 4 | -------------------------------------------------------------------------------- /packages/core/src/index.ts: -------------------------------------------------------------------------------- 1 | import { 2 | BinaryLibrary, 3 | ResponseHandler, 4 | } from "./bin"; 5 | 6 | export * from "./modules"; 7 | export * from "./client"; 8 | 9 | export { 10 | BinaryLibrary, 11 | ResponseHandler, 12 | }; 13 | 14 | -------------------------------------------------------------------------------- /tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true 4 | }, 5 | "files": [], 6 | "include": [], 7 | "references": [ 8 | { 9 | "path": "./packages/core" 10 | }, 11 | { 12 | "path": "./packages/tests" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /packages/lib-node/build/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = 'ever_sdk_node_build' 3 | version = '1.2.0' 4 | description = 'TON Client Build Tool' 5 | license = 'Apache-2.0' 6 | edition = '2018' 7 | 8 | [dependencies] 9 | ton_client_build = { path = '../../../build' } 10 | -------------------------------------------------------------------------------- /packages/lib-react-native/.npmignore: -------------------------------------------------------------------------------- 1 | # OSX 2 | # 3 | .DS_Store 4 | 5 | .idea/ 6 | .vscode/ 7 | node_modules/ 8 | package-lock.json 9 | **/*.a 10 | **/*.so 11 | **/*.dylib 12 | ios/publish 13 | android/lib/NDK 14 | **/Cargo.lock 15 | **/publish/** 16 | **/*.tgz 17 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true 4 | }, 5 | "files": [], 6 | "include": [], 7 | "references": [ 8 | { 9 | "path": "./tsconfig.build.json" 10 | }, 11 | { 12 | "path": "./tsconfig.test.json" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /packages/tests-react-native/ios/TestSDK/AppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | 4 | @interface AppDelegate : UIResponder 5 | 6 | @property (nonatomic, strong) UIWindow *window; 7 | 8 | @end 9 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/ios/tests_runner/AppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | 4 | @interface AppDelegate : UIResponder 5 | 6 | @property (nonatomic, strong) UIWindow *window; 7 | 8 | @end 9 | -------------------------------------------------------------------------------- /packages/tests-react-native/ios/TestSDK/main.m: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | #import "AppDelegate.h" 4 | 5 | int main(int argc, char * argv[]) { 6 | @autoreleasepool { 7 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /packages/core/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "./src", 5 | "outDir": "./dist" 6 | }, 7 | "include": [ 8 | "src/**/*" 9 | ], 10 | "exclude": [ 11 | "**/__tests__", 12 | "**/__mocks__" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/ios/example63/AppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | 4 | @interface AppDelegate : UIResponder 5 | 6 | @property (nonatomic, strong) UIWindow *window; 7 | 8 | @end 9 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/ios/example64/AppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | 4 | @interface AppDelegate : UIResponder 5 | 6 | @property (nonatomic, strong) UIWindow *window; 7 | 8 | @end 9 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/ios/example65/AppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | 4 | @interface AppDelegate : UIResponder 5 | 6 | @property (nonatomic, strong) UIWindow *window; 7 | 8 | @end 9 | -------------------------------------------------------------------------------- /packages/lib-react-native/ios/build/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = 'ton_client_rn_ios_build' 3 | version = '1.2.0' 4 | description = 'TON Client Build Tool' 5 | license = 'Apache-2.0' 6 | edition = '2018' 7 | 8 | [dependencies] 9 | ton_client_build = { path = '../../../../build' } 10 | -------------------------------------------------------------------------------- /packages/tests-react-native/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /packages/tests-web/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base", 3 | "compilerOptions": { 4 | "rootDir": "./src", 5 | "outDir": "./dist" 6 | }, 7 | "include": [ 8 | "src/**/*" 9 | ], 10 | "exclude": [ 11 | "**/__tests__", 12 | "**/__mocks__" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /packages/lib-react-native/ios/TonClientModule.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/lib-web/example/src/setupTests.js: -------------------------------------------------------------------------------- 1 | // jest-dom adds custom jest matchers for asserting on DOM nodes. 2 | // allows you to do things like: 3 | // expect(element).toHaveTextContent(/react/i) 4 | // learn more: https://github.com/testing-library/jest-dom 5 | import '@testing-library/jest-dom'; 6 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/ios/tests_runner/main.m: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | #import "AppDelegate.h" 4 | 5 | int main(int argc, char * argv[]) { 6 | @autoreleasepool { 7 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /packages/core/src/errors.ts: -------------------------------------------------------------------------------- 1 | export class TonClientError extends Error { 2 | code: number; 3 | data?: any; 4 | 5 | constructor(code: number, message: string, data?: any) { 6 | super(message); 7 | this.code = code; 8 | this.data = data; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/ios/example63/main.m: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | #import "AppDelegate.h" 4 | 5 | int main(int argc, char * argv[]) { 6 | @autoreleasepool { 7 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/ios/example64/main.m: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | #import "AppDelegate.h" 4 | 5 | int main(int argc, char * argv[]) { 6 | @autoreleasepool { 7 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/ios/example65/main.m: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | #import "AppDelegate.h" 4 | 5 | int main(int argc, char * argv[]) { 6 | @autoreleasepool { 7 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /packages/lib-react-native/android/build/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = 'ton_client_rn_android_build' 3 | version = '1.2.0' 4 | description = 'TON Client Build Tool' 5 | license = 'Apache-2.0' 6 | edition = '2018' 7 | 8 | [dependencies] 9 | ton_client_build = { path = '../../../../build' } 10 | -------------------------------------------------------------------------------- /packages/lib-react-native/ios/TonClientModule.xcworkspace/xcuserdata/michaelvlasov.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native/ios/TonClientModule.xcworkspace/xcuserdata/michaelvlasov.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/ios/UIResponder+TonClientJsi.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | 4 | #ifndef DONT_AUTOINSTALL_TONCLIENTJSI 5 | 6 | @interface UIResponder (TonClientJsi) 7 | 8 | @end 9 | 10 | #endif // DONT_AUTOINSTALL_TONCLIENTJSI 11 | -------------------------------------------------------------------------------- /packages/lib-react-native/ios/TonClientModule.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Jul 28 15:00:57 CEST 2021 2 | distributionBase=GRADLE_USER_HOME 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.9-all.zip 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | zipStoreBase=GRADLE_USER_HOME 7 | -------------------------------------------------------------------------------- /packages/lib-react-native/ios/TonClientModule.xcodeproj/project.xcworkspace/xcuserdata/michaelvlasov.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/everx-labs/ever-sdk-js/HEAD/packages/lib-react-native/ios/TonClientModule.xcodeproj/project.xcworkspace/xcuserdata/michaelvlasov.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /packages/tests/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base", 3 | "compilerOptions": { 4 | "resolveJsonModule": true, 5 | "rootDir": "./src", 6 | "outDir": "./dist", 7 | "types": ["node"] 8 | }, 9 | "include": [ 10 | "src/**/*" 11 | ], 12 | "exclude": [ 13 | "**/__tests__", 14 | "**/__mocks__" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /packages/lib-web/example/src/App.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding: 1rem; 3 | } 4 | 5 | p { 6 | height: 1rem; 7 | } 8 | 9 | button { 10 | margin-right: 1rem; 11 | } 12 | 13 | hr { 14 | border-width: 1px 0 0 0; 15 | border-color: lightgray; 16 | } 17 | 18 | .image { 19 | width: 80px; 20 | height: 80px; 21 | margin-top: 1rem; 22 | } 23 | -------------------------------------------------------------------------------- /packages/lib-react-native/ios/TonClientModule.h: -------------------------------------------------------------------------------- 1 | 2 | #if __has_include("RCTBridgeModule.h") 3 | #import "RCTBridgeModule.h" 4 | #import "RCTEventEmitter.h" 5 | #else 6 | #import 7 | #import 8 | #endif 9 | 10 | @interface TonClientModule : RCTEventEmitter 11 | 12 | @end 13 | 14 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/ios/example63.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/ios/example64.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/ios/example65.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /packages/lib-react-native/ios/TonClientModule.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/ios/tests_runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/ios/tests_runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/core/before-compile.js: -------------------------------------------------------------------------------- 1 | const fs = require("fs"); 2 | const path = require("path"); 3 | const version = JSON.parse(fs.readFileSync( 4 | path.resolve(__dirname, "package.json"), 5 | "utf8", 6 | )).version; 7 | fs.writeFileSync( 8 | path.resolve(__dirname, "src", "version.ts"), 9 | `export const packageVersion = "${version}";`, 10 | ); 11 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/ios/example63.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/ios/example65.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /packages/lib-react-native/ios/TonClientModule.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/lib-web/build/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = 'ton_client_wasm_build' 3 | version = '1.2.0' 4 | description = 'TON Client Build Tool' 5 | license = 'Apache-2.0' 6 | edition = '2018' 7 | 8 | [dependencies] 9 | regex = '1.3.9' 10 | dirs = '3.0.1' 11 | flate2 = '1.0.19' 12 | serde = '1.0.117' 13 | serde_json = '1.0.59' 14 | ton_client_build = { path = '../../../build' } 15 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/__tests__/App-test.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @format 3 | */ 4 | 5 | import 'react-native'; 6 | import React from 'react'; 7 | import App from '../App'; 8 | 9 | // Note: test renderer must be required after react-native. 10 | import renderer from 'react-test-renderer'; 11 | 12 | it('renders correctly', () => { 13 | renderer.create(); 14 | }); 15 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/__tests__/App-test.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @format 3 | */ 4 | 5 | import 'react-native'; 6 | import React from 'react'; 7 | import App from '../App'; 8 | 9 | // Note: test renderer must be required after react-native. 10 | import renderer from 'react-test-renderer'; 11 | 12 | it('renders correctly', () => { 13 | renderer.create(); 14 | }); 15 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/__tests__/App-test.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @format 3 | */ 4 | 5 | import 'react-native'; 6 | import React from 'react'; 7 | import App from '../App'; 8 | 9 | // Note: test renderer must be required after react-native. 10 | import renderer from 'react-test-renderer'; 11 | 12 | it('renders correctly', () => { 13 | renderer.create(); 14 | }); 15 | -------------------------------------------------------------------------------- /packages/tests-react-native/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /packages/cli/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "trailingComma": "all", 3 | "tabWidth": 4, 4 | "semi": false, 5 | "singleQuote": false, 6 | "printWidth": 80, 7 | "arrowParens": "avoid", 8 | "bracketSpacing": true, 9 | "endOfLine": "lf", 10 | "proseWrap": "preserve", 11 | "quoteProps": "as-needed", 12 | "requirePragma": false, 13 | "useTabs": false 14 | } 15 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'example63' 2 | apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) 3 | include ':app' 4 | 5 | include ':lib-react-native-jsi' 6 | project(':lib-react-native-jsi').projectDir = new File(rootProject.projectDir, '../../android') 7 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'example64' 2 | apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) 3 | include ':app' 4 | 5 | include ':lib-react-native-jsi' 6 | project(':lib-react-native-jsi').projectDir = new File(rootProject.projectDir, '../../android') 7 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'example65' 2 | apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) 3 | include ':app' 4 | 5 | include ':lib-react-native-jsi' 6 | project(':lib-react-native-jsi').projectDir = new File(rootProject.projectDir, '../../android') 7 | -------------------------------------------------------------------------------- /packages/tests-web/web/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | TON Client Example 5 | 6 | 7 | 8 | 9 |

Wait...

10 | 11 | 12 | -------------------------------------------------------------------------------- /packages/lib-web/example/config-overrides.js: -------------------------------------------------------------------------------- 1 | const CopyWebpackPlugin = require("copy-webpack-plugin"); 2 | 3 | module.exports = { 4 | webpack: function (config, env) { 5 | config.plugins.push( 6 | new CopyWebpackPlugin({ 7 | patterns: [{ from: "./node_modules/@eversdk/lib-web/eversdk.wasm" }], 8 | }) 9 | ); 10 | return config; 11 | }, 12 | }; 13 | -------------------------------------------------------------------------------- /packages/tests-react-native/index.js: -------------------------------------------------------------------------------- 1 | import entry from './entry'; 2 | import { TonClient } from '@eversdk/core'; 3 | import { libReactNative } from '@eversdk/lib-react-native'; 4 | import { AppRegistry } from 'react-native'; 5 | import App from './App'; 6 | entry(); 7 | import {name as appName} from './app.json'; 8 | TonClient.useBinaryLibrary(libReactNative); 9 | AppRegistry.registerComponent(appName, () => App); 10 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/InitCodeHashOld.sol: -------------------------------------------------------------------------------- 1 | pragma ton-solidity >=0.5.0; 2 | 3 | contract TestSetCodeNew { 4 | 5 | function f111() pure public returns (uint) { 6 | return 111; 7 | } 8 | 9 | function fix_baga(TvmCell newCode) public { 10 | tvm.accept(); 11 | tvm.setcode(newCode); 12 | tvm.setCurrentCode(newCode); 13 | onCodeUpgrade(); 14 | } 15 | 16 | function onCodeUpgrade() private { 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /packages/lib-web/example/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig helps developers define and maintain consistent 2 | # coding styles between different editors and IDEs 3 | # editorconfig.org 4 | 5 | root = true 6 | 7 | [*] 8 | 9 | indent_style = space 10 | indent_size = 2 11 | 12 | end_of_line = lf 13 | charset = utf-8 14 | trim_trailing_whitespace = true 15 | insert_final_newline = true 16 | 17 | # Windows files 18 | [*.bat] 19 | end_of_line = crlf 20 | -------------------------------------------------------------------------------- /packages/lib-web/example/src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', 5 | sans-serif; 6 | -webkit-font-smoothing: antialiased; 7 | -moz-osx-font-smoothing: grayscale; 8 | } 9 | 10 | code { 11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', 12 | monospace; 13 | } 14 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/lib-web/example/src/reportWebVitals.js: -------------------------------------------------------------------------------- 1 | const reportWebVitals = onPerfEntry => { 2 | if (onPerfEntry && onPerfEntry instanceof Function) { 3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { 4 | getCLS(onPerfEntry); 5 | getFID(onPerfEntry); 6 | getFCP(onPerfEntry); 7 | getLCP(onPerfEntry); 8 | getTTFB(onPerfEntry); 9 | }); 10 | } 11 | }; 12 | 13 | export default reportWebVitals; 14 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/lib-node/lib/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = 'ever_sdk_node_addon' 3 | version = '1.49.1' 4 | authors = [ 'TON Labs' ] 5 | license = 'Apache-2.0' 6 | 7 | [lib] 8 | name = 'eversdk' 9 | crate-type = [ 'staticlib' ] 10 | 11 | [dependencies] 12 | libc = '0.2' 13 | ever_client = { git = 'https://github.com/everx-labs/ever-sdk.git', tag = '1.49.2', default-features = false, features = [ 'std', 'rustls-tls-webpki-roots' ] } 14 | 15 | [profile.release] 16 | lto = true 17 | -------------------------------------------------------------------------------- /packages/tests/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './runner'; 2 | export * from './jest'; 3 | export * from './logger'; 4 | 5 | export * from './tests/client'; 6 | export * from './tests/crypto'; 7 | export * from './tests/abi'; 8 | export * from './tests/boc'; 9 | export * from './tests/utils'; 10 | export * from './tests/tvm'; 11 | export * from './tests/net'; 12 | export * from './tests/blockchain'; 13 | export * from './tests/contracts'; 14 | export * from './tests/proofs'; 15 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/InitCodeHash.sol: -------------------------------------------------------------------------------- 1 | pragma ton-solidity >=0.5.0; 2 | 3 | contract TestSetCodeNew { 4 | 5 | uint m; 6 | 7 | function f() public view returns (uint) { 8 | tvm.accept(); 9 | return tvm.initCodeHash(); 10 | } 11 | 12 | function onCodeUpgrade() private { 13 | m = 222; 14 | if (m == 222) { 15 | return; 16 | } 17 | return ; 18 | } 19 | 20 | function getCode() public pure returns (TvmCell) { 21 | return tvm.code(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /packages/tests-react-native/android/app/src/main/java/com/testsdk/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.testsdk; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. This is used to schedule 9 | * rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "TestSDK"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v1/WalletContract.abi.json: -------------------------------------------------------------------------------- 1 | { 2 | "ABI version": 1, 3 | "functions": [ 4 | { 5 | "name": "constructor", 6 | "inputs": [ 7 | ], 8 | "outputs": [ 9 | ] 10 | }, 11 | { 12 | "name": "sendTransaction", 13 | "inputs": [ 14 | {"name":"dest","type":"address"}, 15 | {"name":"value","type":"uint128"}, 16 | {"name":"bounce","type":"bool"} 17 | ], 18 | "outputs": [ 19 | ] 20 | } 21 | ], 22 | "events": [ 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @format 3 | */ 4 | 5 | import App from './App'; 6 | import {AppRegistry} from 'react-native'; 7 | import {TonClient} from '@eversdk/core'; 8 | import {name as appName} from './app.json'; 9 | import {libReactNativeJsi} from '@eversdk/lib-react-native-jsi'; 10 | 11 | // eslint-disable-next-line react-hooks/rules-of-hooks 12 | TonClient.useBinaryLibrary(libReactNativeJsi); 13 | 14 | AppRegistry.registerComponent(appName, () => App); 15 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @format 3 | */ 4 | 5 | import App from './App'; 6 | import {AppRegistry} from 'react-native'; 7 | import {TonClient} from '@eversdk/core'; 8 | import {name as appName} from './app.json'; 9 | import {libReactNativeJsi} from '@eversdk/lib-react-native-jsi'; 10 | 11 | // eslint-disable-next-line react-hooks/rules-of-hooks 12 | TonClient.useBinaryLibrary(libReactNativeJsi); 13 | 14 | AppRegistry.registerComponent(appName, () => App); 15 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @format 3 | */ 4 | 5 | import App from './App'; 6 | import {AppRegistry} from 'react-native'; 7 | import {TonClient} from '@eversdk/core'; 8 | import {name as appName} from './app.json'; 9 | import {libReactNativeJsi} from '@eversdk/lib-react-native-jsi'; 10 | 11 | // eslint-disable-next-line react-hooks/rules-of-hooks 12 | TonClient.useBinaryLibrary(libReactNativeJsi); 13 | 14 | AppRegistry.registerComponent(appName, () => App); 15 | -------------------------------------------------------------------------------- /packages/lib-react-native/ios/lib/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = 'ever_sdk_react_native_ios' 3 | version = '1.49.1' 4 | authors = [ 'TON Labs' ] 5 | license = 'Apache-2.0' 6 | 7 | [lib] 8 | name = 'eversdk' 9 | crate-type = [ 'staticlib' ] 10 | 11 | [dependencies] 12 | libc = '0.2' 13 | ever_client = { git = 'https://github.com/everx-labs/ever-sdk.git', tag = '1.49.2', default-features = false, features = [ 'std', 'rustls-tls-webpki-roots' ] } 14 | 15 | [profile.release] 16 | lto = true 17 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/android/app/src/main/java/com/example63/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.example63; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. This is used to schedule 9 | * rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "example63"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/android/app/src/main/java/com/example64/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.example64; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. This is used to schedule 9 | * rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "example64"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/android/app/src/main/java/com/example65/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.example65; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. This is used to schedule 9 | * rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "example65"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/android/app/src/main/java/com/tests_runner/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.tests_runner; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. This is used to schedule 9 | * rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "tests_runner"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/android/.settings/org.eclipse.buildship.core.prefs: -------------------------------------------------------------------------------- 1 | arguments= 2 | auto.sync=false 3 | build.scans.enabled=false 4 | connection.gradle.distribution=GRADLE_DISTRIBUTION(VERSION(6.0)) 5 | connection.project.dir= 6 | eclipse.preferences.version=1 7 | gradle.user.home= 8 | java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home 9 | jvm.arguments= 10 | offline.mode=false 11 | override.workspace.settings=true 12 | show.console.view=true 13 | show.executions.view=true 14 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/android/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | -------------------------------------------------------------------------------- /packages/tests-react-native/android/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/android/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/android/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/android/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | -------------------------------------------------------------------------------- /packages/cli/contracts/Touch.d.ts: -------------------------------------------------------------------------------- 1 | export const abi: { 2 | "ABI version": number 3 | version: string 4 | header: string[] 5 | functions: { 6 | name: string 7 | inputs: any[] 8 | outputs: { 9 | name: string 10 | type: string 11 | }[] 12 | }[] 13 | data: any[] 14 | events: any[] 15 | fields: { 16 | name: string 17 | type: string 18 | }[] 19 | } 20 | export const tvc: string 21 | export const code: string 22 | export const codeHash: string 23 | -------------------------------------------------------------------------------- /packages/cli/contracts/Kamikadze.d.ts: -------------------------------------------------------------------------------- 1 | export const abi: { 2 | "ABI version": number 3 | version: string 4 | header: string[] 5 | functions: { 6 | name: string 7 | inputs: { 8 | name: string 9 | type: string 10 | }[] 11 | outputs: any[] 12 | }[] 13 | data: any[] 14 | events: any[] 15 | fields: { 16 | name: string 17 | type: string 18 | }[] 19 | } 20 | export const tvc: string 21 | export const code: string 22 | export const codeHash: string 23 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/android/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | android_ 4 | Project android_ created by Buildship. 5 | 6 | 7 | 8 | 9 | org.eclipse.buildship.core.gradleprojectbuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.buildship.core.gradleprojectnature 16 | 17 | 18 | -------------------------------------------------------------------------------- /packages/cli/contracts/Kamikadze.sol: -------------------------------------------------------------------------------- 1 | pragma ever-solidity 0.65.0; 2 | pragma AbiHeader time; 3 | pragma AbiHeader expire; 4 | 5 | contract Kamikaze { 6 | 7 | modifier checkOwnerAndAccept { 8 | require(msg.pubkey() == tvm.pubkey(), 102); 9 | tvm.accept(); 10 | _; 11 | } 12 | 13 | constructor() public { 14 | require(tvm.pubkey() != 0, 101); 15 | require(msg.pubkey() == tvm.pubkey(), 102); 16 | tvm.accept(); 17 | } 18 | 19 | function sendAllMoney(address dest_addr) public checkOwnerAndAccept { 20 | selfdestruct(dest_addr); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /packages/lib-react-native/android/lib/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = 'ever_sdk_react_native_android' 3 | version = '1.49.1' 4 | authors = [ 'TON Labs' ] 5 | license = 'Apache-2.0' 6 | 7 | [lib] 8 | name = 'eversdk' 9 | crate-type = [ 'cdylib' ] 10 | 11 | [dependencies] 12 | openssl-sys = { version = "0.9.97", features = [ "vendored" ] } 13 | lazy_static = '1.4.0' 14 | jni = { default-features = false, version = '0.12.0' } 15 | ever_client = { git = 'https://github.com/everx-labs/ever-sdk.git', tag = '1.49.2' } 16 | 17 | [profile.release] 18 | lto = true 19 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/ios/TONJSIExecutorInitializer.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | #import 4 | #import 5 | 6 | NS_ASSUME_NONNULL_BEGIN 7 | 8 | namespace tonlabs 9 | { 10 | using namespace facebook::react; 11 | 12 | JSIExecutor::RuntimeInstaller TONJSIExecutorRuntimeInstaller( 13 | RCTBridge *bridge, 14 | JSIExecutor::RuntimeInstaller runtimeInstallerToWrap); 15 | 16 | } // namespace tonlabs 17 | 18 | NS_ASSUME_NONNULL_END 19 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/cpp/request_data_t.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include 6 | 7 | #include 8 | 9 | #include "TonClientJsiModule.h" 10 | 11 | using namespace facebook; 12 | 13 | namespace tonlabs 14 | { 15 | typedef struct request_data_t 16 | { 17 | TonClientJsiModule *jsiModule; // to access runtime, jsCallInvoker and blobManager 18 | uint32_t requestId; 19 | bool returnBlob = false; // whether to replace strings with blobs in the request params or not 20 | } request_data_t; 21 | 22 | } // namespace tonlabs 23 | -------------------------------------------------------------------------------- /packages/tests-react-native/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /packages/lib-react-native/android/lib/.cargo/config: -------------------------------------------------------------------------------- 1 | [target.aarch64-linux-android] 2 | ar = "./NDK/arm64/bin/aarch64-linux-android-ar" 3 | linker = "./NDK/arm64/bin/aarch64-linux-android-gcc" 4 | [target.armv7-linux-androideabi] 5 | ar = "./NDK/arm/bin/arm-linux-androideabi-ar" 6 | linker = "./NDK/arm/bin/arm-linux-androideabi-gcc" 7 | [target.i686-linux-android] 8 | ar = "./NDK/x86/bin/i686-linux-android-ar" 9 | linker = "./NDK/x86/bin/i686-linux-android-gcc" 10 | [target.x86_64-linux-android] 11 | ar = "./NDK/x86_64/bin/x86_64-linux-android-ar" 12 | linker = "./NDK/x86_64/bin/x86_64-linux-android-gcc" 13 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/node-mock/fs/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-2020 TON Labs LTD. 3 | * 4 | * Licensed under the SOFTWARE EVALUATION License (the "License"); you may not use 5 | * this file except in compliance with the License. 6 | * 7 | * Unless required by applicable law or agreed to in writing, software 8 | * distributed under the License is distributed on an "AS IS" BASIS, 9 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | * See the License for the specific TON DEV software governing permissions and 11 | * limitations under the License. 12 | * 13 | */ 14 | 15 | 16 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/node-mock/module/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-2020 TON Labs LTD. 3 | * 4 | * Licensed under the SOFTWARE EVALUATION License (the "License"); you may not use 5 | * this file except in compliance with the License. 6 | * 7 | * Unless required by applicable law or agreed to in writing, software 8 | * distributed under the License is distributed on an "AS IS" BASIS, 9 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | * See the License for the specific TON DEV software governing permissions and 11 | * limitations under the License. 12 | * 13 | */ 14 | 15 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/node-mock/path/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-2020 TON Labs LTD. 3 | * 4 | * Licensed under the SOFTWARE EVALUATION License (the "License"); you may not use 5 | * this file except in compliance with the License. 6 | * 7 | * Unless required by applicable law or agreed to in writing, software 8 | * distributed under the License is distributed on an "AS IS" BASIS, 9 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | * See the License for the specific TON DEV software governing permissions and 11 | * limitations under the License. 12 | * 13 | */ 14 | 15 | 16 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/node-mock/process/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-2020 TON Labs LTD. 3 | * 4 | * Licensed under the SOFTWARE EVALUATION License (the "License"); you may not use 5 | * this file except in compliance with the License. 6 | * 7 | * Unless required by applicable law or agreed to in writing, software 8 | * distributed under the License is distributed on an "AS IS" BASIS, 9 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | * See the License for the specific TON DEV software governing permissions and 11 | * limitations under the License. 12 | * 13 | */ 14 | 15 | 16 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/node-mock/stream/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-2020 TON Labs LTD. 3 | * 4 | * Licensed under the SOFTWARE EVALUATION License (the "License"); you may not use 5 | * this file except in compliance with the License. 6 | * 7 | * Unless required by applicable law or agreed to in writing, software 8 | * distributed under the License is distributed on an "AS IS" BASIS, 9 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | * See the License for the specific TON DEV software governing permissions and 11 | * limitations under the License. 12 | * 13 | */ 14 | 15 | 16 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/node-mock/util/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-2020 TON Labs LTD. 3 | * 4 | * Licensed under the SOFTWARE EVALUATION License (the "License"); you may not use 5 | * this file except in compliance with the License. 6 | * 7 | * Unless required by applicable law or agreed to in writing, software 8 | * distributed under the License is distributed on an "AS IS" BASIS, 9 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | * See the License for the specific TON DEV software governing permissions and 11 | * limitations under the License. 12 | * 13 | */ 14 | 15 | 16 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/Sensor.sol: -------------------------------------------------------------------------------- 1 | pragma solidity >= 0.6.0; 2 | pragma AbiHeader time; 3 | pragma AbiHeader pubkey; 4 | 5 | contract Test { 6 | uint16 data; 7 | uint256 m_ownerKey; 8 | 9 | constructor(uint256 ownerKey) public { 10 | require(ownerKey>0); 11 | tvm.accept(); 12 | m_ownerKey = ownerKey; 13 | } 14 | 15 | function getData() public view returns (uint16) { 16 | return data; 17 | } 18 | 19 | function setData(uint16 input) public { 20 | require(msg.pubkey() == m_ownerKey, 101); 21 | tvm.accept(); 22 | data = input; 23 | } 24 | } -------------------------------------------------------------------------------- /packages/cli/contracts/Kamikadze.abi.json: -------------------------------------------------------------------------------- 1 | { 2 | "ABI version": 2, 3 | "version": "2.3", 4 | "header": ["time", "expire"], 5 | "functions": [ 6 | { 7 | "name": "constructor", 8 | "inputs": [ 9 | ], 10 | "outputs": [ 11 | ] 12 | }, 13 | { 14 | "name": "sendAllMoney", 15 | "inputs": [ 16 | {"name":"dest_addr","type":"address"} 17 | ], 18 | "outputs": [ 19 | ] 20 | } 21 | ], 22 | "data": [ 23 | ], 24 | "events": [ 25 | ], 26 | "fields": [ 27 | {"name":"_pubkey","type":"uint256"}, 28 | {"name":"_timestamp","type":"uint64"}, 29 | {"name":"_constructorFlag","type":"bool"} 30 | ] 31 | } 32 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/node-mock/constants/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-2020 TON Labs LTD. 3 | * 4 | * Licensed under the SOFTWARE EVALUATION License (the "License"); you may not use 5 | * this file except in compliance with the License. 6 | * 7 | * Unless required by applicable law or agreed to in writing, software 8 | * distributed under the License is distributed on an "AS IS" BASIS, 9 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | * See the License for the specific TON DEV software governing permissions and 11 | * limitations under the License. 12 | * 13 | */ 14 | 15 | 16 | -------------------------------------------------------------------------------- /packages/tests-react-native/node-mock/module/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-2020 TON Labs LTD. 3 | * 4 | * Licensed under the SOFTWARE EVALUATION License (the "License"); you may not use 5 | * this file except in compliance with the License. 6 | * 7 | * Unless required by applicable law or agreed to in writing, software 8 | * distributed under the License is distributed on an "AS IS" BASIS, 9 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | * See the License for the specific TON DEV software governing permissions and 11 | * limitations under the License. 12 | * 13 | */ 14 | 15 | -------------------------------------------------------------------------------- /packages/lib-web/example/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "React App", 3 | "name": "Create React App Sample", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | }, 10 | { 11 | "src": "logo192.png", 12 | "type": "image/png", 13 | "sizes": "192x192" 14 | }, 15 | { 16 | "src": "logo512.png", 17 | "type": "image/png", 18 | "sizes": "512x512" 19 | } 20 | ], 21 | "start_url": ".", 22 | "display": "standalone", 23 | "theme_color": "#000000", 24 | "background_color": "#ffffff" 25 | } 26 | -------------------------------------------------------------------------------- /packages/tests-react-native/node-mock/fs/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-2020 TON Labs LTD. 3 | * 4 | * Licensed under the SOFTWARE EVALUATION License (the "License"); you may not use 5 | * this file except in compliance with the License. 6 | * 7 | * Unless required by applicable law or agreed to in writing, software 8 | * distributed under the License is distributed on an "AS IS" BASIS, 9 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | * See the License for the specific TON DEV software governing permissions and 11 | * limitations under the License. 12 | * 13 | */ 14 | 15 | 16 | -------------------------------------------------------------------------------- /packages/tests-react-native/node-mock/path/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-2020 TON Labs LTD. 3 | * 4 | * Licensed under the SOFTWARE EVALUATION License (the "License"); you may not use 5 | * this file except in compliance with the License. 6 | * 7 | * Unless required by applicable law or agreed to in writing, software 8 | * distributed under the License is distributed on an "AS IS" BASIS, 9 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | * See the License for the specific TON DEV software governing permissions and 11 | * limitations under the License. 12 | * 13 | */ 14 | 15 | 16 | -------------------------------------------------------------------------------- /packages/tests-react-native/node-mock/stream/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-2020 TON Labs LTD. 3 | * 4 | * Licensed under the SOFTWARE EVALUATION License (the "License"); you may not use 5 | * this file except in compliance with the License. 6 | * 7 | * Unless required by applicable law or agreed to in writing, software 8 | * distributed under the License is distributed on an "AS IS" BASIS, 9 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | * See the License for the specific TON DEV software governing permissions and 11 | * limitations under the License. 12 | * 13 | */ 14 | 15 | 16 | -------------------------------------------------------------------------------- /packages/tests-react-native/node-mock/util/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-2020 TON Labs LTD. 3 | * 4 | * Licensed under the SOFTWARE EVALUATION License (the "License"); you may not use 5 | * this file except in compliance with the License. 6 | * 7 | * Unless required by applicable law or agreed to in writing, software 8 | * distributed under the License is distributed on an "AS IS" BASIS, 9 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | * See the License for the specific TON DEV software governing permissions and 11 | * limitations under the License. 12 | * 13 | */ 14 | 15 | 16 | -------------------------------------------------------------------------------- /packages/tests-react-native/node-mock/constants/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-2020 TON Labs LTD. 3 | * 4 | * Licensed under the SOFTWARE EVALUATION License (the "License"); you may not use 5 | * this file except in compliance with the License. 6 | * 7 | * Unless required by applicable law or agreed to in writing, software 8 | * distributed under the License is distributed on an "AS IS" BASIS, 9 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | * See the License for the specific TON DEV software governing permissions and 11 | * limitations under the License. 12 | * 13 | */ 14 | 15 | 16 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v1/Hello.abi.json: -------------------------------------------------------------------------------- 1 | { 2 | "ABI version": 1, 3 | "functions": [ 4 | { 5 | "name": "constructor", 6 | "inputs": [ 7 | ], 8 | "outputs": [ 9 | ] 10 | }, 11 | { 12 | "name": "touch", 13 | "inputs": [ 14 | ], 15 | "outputs": [ 16 | ] 17 | }, 18 | { 19 | "name": "sayHello", 20 | "inputs": [ 21 | ], 22 | "outputs": [ 23 | {"name":"value0","type":"uint32"} 24 | ] 25 | }, 26 | { 27 | "name": "sendAllMoney", 28 | "inputs": [ 29 | {"name":"dest_addr","type":"address"} 30 | ], 31 | "outputs": [ 32 | ] 33 | } 34 | ], 35 | "events": [ 36 | ] 37 | } 38 | -------------------------------------------------------------------------------- /packages/cli/contracts/Touch.sol: -------------------------------------------------------------------------------- 1 | pragma ever-solidity 0.65.0; 2 | pragma AbiHeader time; 3 | pragma AbiHeader expire; 4 | 5 | contract Touch { 6 | uint32 public timestamp; 7 | 8 | modifier checkOwnerAndAccept { 9 | require(msg.pubkey() == tvm.pubkey(), 102); 10 | tvm.accept(); 11 | _; 12 | } 13 | 14 | constructor() public { 15 | require(tvm.pubkey() != 0, 101); 16 | require(msg.pubkey() == tvm.pubkey(), 102); 17 | tvm.accept(); 18 | timestamp = now; 19 | } 20 | 21 | function touch() public checkOwnerAndAccept { 22 | timestamp = now; 23 | } 24 | 25 | function getTimestamp() public view returns(uint32) { 26 | return timestamp; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/metro.config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Metro configuration for React Native 3 | * https://github.com/facebook/react-native 4 | * 5 | * @format 6 | */ 7 | 8 | const path = require('path'); 9 | 10 | const extraNodeModules = { 11 | common: path.join(__dirname, '/..'), 12 | }; 13 | const watchFolders = [path.join(__dirname, '/..')]; 14 | 15 | module.exports = { 16 | transformer: { 17 | getTransformOptions: async () => ({ 18 | transform: { 19 | experimentalImportSupport: false, 20 | inlineRequires: false, 21 | }, 22 | }), 23 | }, 24 | resolver: { 25 | extraNodeModules, 26 | }, 27 | watchFolders, 28 | }; 29 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/metro.config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Metro configuration for React Native 3 | * https://github.com/facebook/react-native 4 | * 5 | * @format 6 | */ 7 | 8 | const path = require('path'); 9 | 10 | const extraNodeModules = { 11 | common: path.join(__dirname, '/..'), 12 | }; 13 | const watchFolders = [path.join(__dirname, '/..')]; 14 | 15 | module.exports = { 16 | transformer: { 17 | getTransformOptions: async () => ({ 18 | transform: { 19 | experimentalImportSupport: false, 20 | inlineRequires: true, 21 | }, 22 | }), 23 | }, 24 | resolver: { 25 | extraNodeModules, 26 | }, 27 | watchFolders, 28 | }; 29 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/metro.config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Metro configuration for React Native 3 | * https://github.com/facebook/react-native 4 | * 5 | * @format 6 | */ 7 | 8 | const path = require('path'); 9 | 10 | const extraNodeModules = { 11 | common: path.join(__dirname, '/..'), 12 | }; 13 | const watchFolders = [path.join(__dirname, '/..')]; 14 | 15 | module.exports = { 16 | transformer: { 17 | getTransformOptions: async () => ({ 18 | transform: { 19 | experimentalImportSupport: false, 20 | inlineRequires: true, 21 | }, 22 | }), 23 | }, 24 | resolver: { 25 | extraNodeModules, 26 | }, 27 | watchFolders, 28 | }; 29 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v1/Deployee.abi.json: -------------------------------------------------------------------------------- 1 | { 2 | "ABI version": 1, 3 | "functions": [ 4 | { 5 | "name": "constructor", 6 | "inputs": [ 7 | {"name":"_param1","type":"uint32"}, 8 | {"name":"_param2","type":"uint256"} 9 | ], 10 | "outputs": [ 11 | ] 12 | }, 13 | { 14 | "name": "get", 15 | "inputs": [ 16 | ], 17 | "outputs": [ 18 | {"name":"value0","type":"uint32"}, 19 | {"name":"value1","type":"uint256"} 20 | ] 21 | }, 22 | { 23 | "name": "sendAllMoney", 24 | "inputs": [ 25 | {"name":"dest_addr","type":"address"} 26 | ], 27 | "outputs": [ 28 | ] 29 | } 30 | ], 31 | "data": [ 32 | ], 33 | "events": [ 34 | ] 35 | } 36 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v1/Setcode2.sol: -------------------------------------------------------------------------------- 1 | pragma solidity ^0.5.0; 2 | pragma experimental ABIEncoderV2; 3 | 4 | contract Setcode { 5 | modifier onlyOwner { 6 | require(msg.pubkey() == tvm.pubkey(), 100); 7 | tvm.accept(); 8 | _; 9 | } 10 | 11 | function main(TvmCell newcode) public pure returns (uint) { 12 | tvm.accept(); 13 | tvm.setcode(newcode); 14 | return 0; 15 | } 16 | 17 | function getNewVersion() public pure returns (uint) { 18 | tvm.accept(); 19 | return 2; 20 | } 21 | 22 | function sendAllMoney(address payable dest_addr) public onlyOwner { 23 | selfdestruct(dest_addr); 24 | } 25 | 26 | } -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/WalletContract.abi.json: -------------------------------------------------------------------------------- 1 | { 2 | "ABI version": 2, 3 | "header": ["time", "expire"], 4 | "functions": [ 5 | { 6 | "name": "sendTransaction", 7 | "inputs": [ 8 | {"name":"dest","type":"address"}, 9 | {"name":"value","type":"uint128"}, 10 | {"name":"bounce","type":"bool"} 11 | ], 12 | "outputs": [ 13 | ] 14 | }, 15 | { 16 | "name": "sendAllMoney", 17 | "inputs": [ 18 | {"name":"dest_addr","type":"address"} 19 | ], 20 | "outputs": [ 21 | ] 22 | }, 23 | { 24 | "name": "constructor", 25 | "inputs": [ 26 | ], 27 | "outputs": [ 28 | ] 29 | } 30 | ], 31 | "data": [ 32 | ], 33 | "events": [ 34 | ] 35 | } 36 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/Hello.abi.json: -------------------------------------------------------------------------------- 1 | { 2 | "ABI version": 2, 3 | "header": ["time", "expire"], 4 | "functions": [ 5 | { 6 | "name": "constructor", 7 | "inputs": [ 8 | ], 9 | "outputs": [ 10 | ] 11 | }, 12 | { 13 | "name": "touch", 14 | "inputs": [ 15 | ], 16 | "outputs": [ 17 | ] 18 | }, 19 | { 20 | "name": "sayHello", 21 | "inputs": [ 22 | ], 23 | "outputs": [ 24 | {"name":"value0","type":"uint32"} 25 | ] 26 | }, 27 | { 28 | "name": "sendAllMoney", 29 | "inputs": [ 30 | {"name":"dest_addr","type":"address"} 31 | ], 32 | "outputs": [ 33 | ] 34 | } 35 | ], 36 | "data": [ 37 | ], 38 | "events": [ 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/Setcode.sol: -------------------------------------------------------------------------------- 1 | pragma solidity >=0.5.0; 2 | pragma AbiHeader time; 3 | pragma AbiHeader expire; 4 | 5 | contract Setcode { 6 | 7 | modifier onlyOwner { 8 | require(msg.pubkey() == tvm.pubkey(), 100); 9 | tvm.accept(); 10 | _; 11 | } 12 | 13 | function main(TvmCell newcode) public pure returns (uint) { 14 | tvm.accept(); 15 | tvm.setcode(newcode); 16 | return 0; 17 | } 18 | 19 | function getVersion() public pure returns (uint) { 20 | tvm.accept(); 21 | return 1; 22 | } 23 | 24 | function sendAllMoney(address dest_addr) public onlyOwner { 25 | selfdestruct(dest_addr); 26 | } 27 | 28 | } -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/Setcode2.sol: -------------------------------------------------------------------------------- 1 | pragma solidity >=0.5.0; 2 | pragma AbiHeader time; 3 | pragma AbiHeader expire; 4 | 5 | contract Setcode { 6 | modifier onlyOwner { 7 | require(msg.pubkey() == tvm.pubkey(), 100); 8 | tvm.accept(); 9 | _; 10 | } 11 | 12 | function main(TvmCell newcode) public pure returns (uint) { 13 | tvm.accept(); 14 | tvm.setcode(newcode); 15 | return 0; 16 | } 17 | 18 | function getNewVersion() public pure returns (uint) { 19 | tvm.accept(); 20 | return 2; 21 | } 22 | 23 | function sendAllMoney(address dest_addr) public onlyOwner { 24 | selfdestruct(dest_addr); 25 | } 26 | 27 | } -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/Sensor.abi.json: -------------------------------------------------------------------------------- 1 | { 2 | "ABI version": 2, 3 | "header": [ 4 | "pubkey", 5 | "time" 6 | ], 7 | "functions": [ 8 | { 9 | "name": "constructor", 10 | "inputs": [ 11 | { 12 | "name": "ownerKey", 13 | "type": "uint256" 14 | } 15 | ], 16 | "outputs": [] 17 | }, 18 | { 19 | "name": "getData", 20 | "inputs": [], 21 | "outputs": [ 22 | { 23 | "name": "value0", 24 | "type": "uint16" 25 | } 26 | ] 27 | }, 28 | { 29 | "name": "setData", 30 | "inputs": [ 31 | { 32 | "name": "input", 33 | "type": "uint16" 34 | } 35 | ], 36 | "outputs": [] 37 | } 38 | ], 39 | "data": [], 40 | "events": [] 41 | } 42 | -------------------------------------------------------------------------------- /packages/tests-react-native/android/app/build_defs.bzl: -------------------------------------------------------------------------------- 1 | """Helper definitions to glob .aar and .jar targets""" 2 | 3 | def create_aar_targets(aarfiles): 4 | for aarfile in aarfiles: 5 | name = "aars__" + aarfile[aarfile.rindex("/") + 1:aarfile.rindex(".aar")] 6 | lib_deps.append(":" + name) 7 | android_prebuilt_aar( 8 | name = name, 9 | aar = aarfile, 10 | ) 11 | 12 | def create_jar_targets(jarfiles): 13 | for jarfile in jarfiles: 14 | name = "jars__" + jarfile[jarfile.rindex("/") + 1:jarfile.rindex(".jar")] 15 | lib_deps.append(":" + name) 16 | prebuilt_jar( 17 | name = name, 18 | binary_jar = jarfile, 19 | ) 20 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v1/Events.sol: -------------------------------------------------------------------------------- 1 | pragma solidity ^0.5.0; 2 | pragma experimental ABIEncoderV2; 3 | 4 | contract Events { 5 | 6 | 7 | modifier OnlyOwner { 8 | require(msg.pubkey() == tvm.pubkey(), 100); 9 | tvm.accept(); 10 | _; 11 | } 12 | event EventThrown(uint256 id); 13 | 14 | function emitValue(uint256 id) public { 15 | tvm.accept(); 16 | emit EventThrown(id); 17 | } 18 | 19 | function returnValue(uint256 id) public returns (uint256) { 20 | tvm.accept(); 21 | emit EventThrown(id); 22 | return id; 23 | } 24 | 25 | function sendAllMoney(address payable dest_addr) public OnlyOwner { 26 | selfdestruct(dest_addr); 27 | } 28 | } -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/android/app/build_defs.bzl: -------------------------------------------------------------------------------- 1 | """Helper definitions to glob .aar and .jar targets""" 2 | 3 | def create_aar_targets(aarfiles): 4 | for aarfile in aarfiles: 5 | name = "aars__" + aarfile[aarfile.rindex("/") + 1:aarfile.rindex(".aar")] 6 | lib_deps.append(":" + name) 7 | android_prebuilt_aar( 8 | name = name, 9 | aar = aarfile, 10 | ) 11 | 12 | def create_jar_targets(jarfiles): 13 | for jarfile in jarfiles: 14 | name = "jars__" + jarfile[jarfile.rindex("/") + 1:jarfile.rindex(".jar")] 15 | lib_deps.append(":" + name) 16 | prebuilt_jar( 17 | name = name, 18 | binary_jar = jarfile, 19 | ) 20 | -------------------------------------------------------------------------------- /packages/tests-react-native/.gitignore: -------------------------------------------------------------------------------- 1 | # OSX 2 | # 3 | .DS_Store 4 | 5 | # Xcode 6 | # 7 | build/ 8 | *.pbxuser 9 | !default.pbxuser 10 | *.mode1v3 11 | !default.mode1v3 12 | *.mode2v3 13 | !default.mode2v3 14 | *.perspectivev3 15 | !default.perspectivev3 16 | xcuserdata 17 | *.xccheckout 18 | *.moved-aside 19 | DerivedData 20 | *.hmap 21 | *.ipa 22 | *.xcuserstate 23 | 24 | # Android/IntelliJ 25 | # 26 | build/ 27 | .idea 28 | .gradle 29 | local.properties 30 | *.iml 31 | *.hprof 32 | 33 | # node.js 34 | # 35 | node_modules/ 36 | npm-debug.log 37 | yarn-error.log 38 | 39 | # BUCK 40 | buck-out/ 41 | \.buckd/ 42 | *.keystore 43 | !debug.keystore 44 | 45 | # Bundle artifact 46 | *.jsbundle 47 | 48 | # CocoaPods 49 | /ios/Pods/ 50 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/Deployee.abi.json: -------------------------------------------------------------------------------- 1 | { 2 | "ABI version": 2, 3 | "header": ["time", "expire"], 4 | "functions": [ 5 | { 6 | "name": "constructor", 7 | "inputs": [ 8 | {"name":"_param1","type":"uint32"}, 9 | {"name":"_param2","type":"uint256"} 10 | ], 11 | "outputs": [ 12 | ] 13 | }, 14 | { 15 | "name": "get", 16 | "inputs": [ 17 | ], 18 | "outputs": [ 19 | {"name":"value0","type":"uint32"}, 20 | {"name":"value1","type":"uint256"} 21 | ] 22 | }, 23 | { 24 | "name": "sendAllMoney", 25 | "inputs": [ 26 | {"name":"dest_addr","type":"address"} 27 | ], 28 | "outputs": [ 29 | ] 30 | } 31 | ], 32 | "data": [ 33 | ], 34 | "events": [ 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/MultiTouch.sol: -------------------------------------------------------------------------------- 1 | pragma ever-solidity 0.65.0; 2 | pragma AbiHeader time; 3 | pragma AbiHeader expire; 4 | 5 | contract Touch { 6 | uint32 public timestamp; 7 | 8 | modifier checkOwnerAndAccept { 9 | require(msg.pubkey() == tvm.pubkey(), 102); 10 | tvm.accept(); 11 | _; 12 | } 13 | 14 | constructor() public { 15 | require(tvm.pubkey() != 0, 101); 16 | require(msg.pubkey() == tvm.pubkey(), 102); 17 | tvm.accept(); 18 | timestamp = now; 19 | } 20 | 21 | function touch(uint32 seqno) public checkOwnerAndAccept { 22 | require(seqno > 0, 100); 23 | timestamp = now; 24 | } 25 | 26 | function getTimestamp() public view returns(uint32) { 27 | return timestamp; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /packages/lib-node/lib/src/lib.rs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-2020 TON Labs LTD. 3 | * 4 | * Licensed under the SOFTWARE EVALUATION License (the "License"); you may not use 5 | * this file except in compliance with the License. 6 | * 7 | * Unless required by applicable law or agreed to in writing, software 8 | * distributed under the License is distributed on an "AS IS" BASIS, 9 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | * See the License for the specific TON DEV software governing permissions and 11 | * limitations under the License. 12 | */ 13 | 14 | extern crate libc; 15 | extern crate ever_client; 16 | 17 | pub use ever_client::{tc_create_context, tc_destroy_context, tc_request, tc_request_sync}; 18 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/android/app/build_defs.bzl: -------------------------------------------------------------------------------- 1 | """Helper definitions to glob .aar and .jar targets""" 2 | 3 | def create_aar_targets(aarfiles): 4 | for aarfile in aarfiles: 5 | name = "aars__" + aarfile[aarfile.rindex("/") + 1:aarfile.rindex(".aar")] 6 | lib_deps.append(":" + name) 7 | android_prebuilt_aar( 8 | name = name, 9 | aar = aarfile, 10 | ) 11 | 12 | def create_jar_targets(jarfiles): 13 | for jarfile in jarfiles: 14 | name = "jars__" + jarfile[jarfile.rindex("/") + 1:jarfile.rindex(".jar")] 15 | lib_deps.append(":" + name) 16 | prebuilt_jar( 17 | name = name, 18 | binary_jar = jarfile, 19 | ) 20 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/android/app/build_defs.bzl: -------------------------------------------------------------------------------- 1 | """Helper definitions to glob .aar and .jar targets""" 2 | 3 | def create_aar_targets(aarfiles): 4 | for aarfile in aarfiles: 5 | name = "aars__" + aarfile[aarfile.rindex("/") + 1:aarfile.rindex(".aar")] 6 | lib_deps.append(":" + name) 7 | android_prebuilt_aar( 8 | name = name, 9 | aar = aarfile, 10 | ) 11 | 12 | def create_jar_targets(jarfiles): 13 | for jarfile in jarfiles: 14 | name = "jars__" + jarfile[jarfile.rindex("/") + 1:jarfile.rindex(".jar")] 15 | lib_deps.append(":" + name) 16 | prebuilt_jar( 17 | name = name, 18 | binary_jar = jarfile, 19 | ) 20 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/android/app/build_defs.bzl: -------------------------------------------------------------------------------- 1 | """Helper definitions to glob .aar and .jar targets""" 2 | 3 | def create_aar_targets(aarfiles): 4 | for aarfile in aarfiles: 5 | name = "aars__" + aarfile[aarfile.rindex("/") + 1:aarfile.rindex(".aar")] 6 | lib_deps.append(":" + name) 7 | android_prebuilt_aar( 8 | name = name, 9 | aar = aarfile, 10 | ) 11 | 12 | def create_jar_targets(jarfiles): 13 | for jarfile in jarfiles: 14 | name = "jars__" + jarfile[jarfile.rindex("/") + 1:jarfile.rindex(".jar")] 15 | lib_deps.append(":" + name) 16 | prebuilt_jar( 17 | name = name, 18 | binary_jar = jarfile, 19 | ) 20 | -------------------------------------------------------------------------------- /packages/lib-react-native/android/build.gradle: -------------------------------------------------------------------------------- 1 | 2 | buildscript { 3 | repositories { 4 | mavenCentral() 5 | } 6 | 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:1.3.1' 9 | } 10 | } 11 | 12 | apply plugin: 'com.android.library' 13 | 14 | android { 15 | compileSdkVersion 27 16 | buildToolsVersion "27.0.3" 17 | 18 | defaultConfig { 19 | minSdkVersion 21 20 | targetSdkVersion 27 21 | versionCode 1 22 | versionName "1.0" 23 | } 24 | lintOptions { 25 | abortOnError false 26 | } 27 | } 28 | 29 | repositories { 30 | mavenCentral() 31 | } 32 | 33 | dependencies { 34 | compile 'com.facebook.react:react-native:+' 35 | } 36 | 37 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v1/Setcode2.abi.json: -------------------------------------------------------------------------------- 1 | { 2 | "ABI version": 1, 3 | "functions": [ 4 | { 5 | "name": "constructor", 6 | "inputs": [ 7 | ], 8 | "outputs": [ 9 | ] 10 | }, 11 | { 12 | "name": "main", 13 | "inputs": [ 14 | {"name":"newcode","type":"cell"} 15 | ], 16 | "outputs": [ 17 | {"name":"value0","type":"uint256"} 18 | ] 19 | }, 20 | { 21 | "name": "getNewVersion", 22 | "inputs": [ 23 | ], 24 | "outputs": [ 25 | {"name":"value0","type":"uint256"} 26 | ] 27 | }, 28 | { 29 | "name": "sendAllMoney", 30 | "inputs": [ 31 | {"name":"dest_addr","type":"address"} 32 | ], 33 | "outputs": [ 34 | ] 35 | } 36 | ], 37 | "events": [ 38 | ] 39 | } 40 | -------------------------------------------------------------------------------- /packages/lib-react-native/android/src/main/java/tonlabs/tonclient/TonClientJsonInterface.java: -------------------------------------------------------------------------------- 1 | package tonlabs.tonclient; 2 | 3 | public class TonClientJsonInterface { 4 | static { 5 | System.loadLibrary("eversdk"); 6 | } 7 | 8 | public interface IResponseHandler { 9 | void invoke(long requestId, String paramsJson, long responseType, boolean finished); 10 | } 11 | 12 | public static native String createContext(String configJson); 13 | public static native void destroyContext(long context); 14 | public static native void setResponseHandler(IResponseHandler handler); 15 | public static native void sendRequest(long context, long requestId, String functionName, String functionParamsJson); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /tsconfig.base.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "target": "es2016", 5 | "module": "commonjs", 6 | "moduleResolution": "node", 7 | "esModuleInterop": true, 8 | "sourceMap": true, 9 | "declaration": true, 10 | "declarationMap": true, 11 | "removeComments": false, 12 | "strict": true, 13 | "noImplicitAny": true, 14 | "noImplicitReturns": true, 15 | "noFallthroughCasesInSwitch": true, 16 | "noUnusedParameters": true, 17 | "noUnusedLocals": true, 18 | "forceConsistentCasingInFileNames": true, 19 | "lib": ["es2017", "esnext.asynciterable"], 20 | "types": [], 21 | "baseUrl": ".", 22 | "paths": { 23 | "*" : ["types/*"] 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/Events.sol: -------------------------------------------------------------------------------- 1 | pragma solidity >=0.5.0; 2 | pragma AbiHeader time; 3 | pragma AbiHeader expire; 4 | pragma AbiHeader pubkey; 5 | 6 | contract Events { 7 | 8 | 9 | modifier OnlyOwner { 10 | require(msg.pubkey() == tvm.pubkey(), 100); 11 | tvm.accept(); 12 | _; 13 | } 14 | event EventThrown(uint256 id); 15 | 16 | function emitValue(uint256 id) public { 17 | tvm.accept(); 18 | emit EventThrown(id); 19 | } 20 | 21 | function returnValue(uint256 id) public returns (uint256) { 22 | tvm.accept(); 23 | emit EventThrown(id); 24 | return id; 25 | } 26 | 27 | function sendAllMoney(address dest_addr) public OnlyOwner { 28 | selfdestruct(dest_addr); 29 | } 30 | } -------------------------------------------------------------------------------- /packages/lib-react-native/TonClientModule.podspec: -------------------------------------------------------------------------------- 1 | 2 | Pod::Spec.new do |s| 3 | s.name = "TonClientModule" 4 | s.version = "0.9.0" 5 | s.summary = "TON Client React Native Module" 6 | s.description = <<-DESC 7 | TON Client React Native Module 8 | DESC 9 | s.homepage = "https://github.com/everx-labs/ever-sdk-js" 10 | s.license = "MIT" 11 | s.author = { "author" => "sdk@tonlabs.io" } 12 | s.platform = :ios, "7.0" 13 | s.source = { :git => "https://github.com/everx-labs/ever-sdk-js.git", :tag => "master" } 14 | s.source_files = "ios/**/*.{h,m,mm}" 15 | s.ios.vendored_library = "ios/libeversdk.a" 16 | 17 | s.requires_arc = true 18 | s.dependency "React" 19 | end 20 | 21 | 22 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/InitCodeHashOld.abi.json: -------------------------------------------------------------------------------- 1 | { 2 | "ABI version": 2, 3 | "version": "2.2", 4 | "header": ["time"], 5 | "functions": [ 6 | { 7 | "name": "f111", 8 | "inputs": [ 9 | ], 10 | "outputs": [ 11 | {"name":"value0","type":"uint256"} 12 | ] 13 | }, 14 | { 15 | "name": "fix_baga", 16 | "inputs": [ 17 | {"name":"newCode","type":"cell"} 18 | ], 19 | "outputs": [ 20 | ] 21 | }, 22 | { 23 | "name": "constructor", 24 | "inputs": [ 25 | ], 26 | "outputs": [ 27 | ] 28 | } 29 | ], 30 | "data": [ 31 | ], 32 | "events": [ 33 | ], 34 | "fields": [ 35 | {"name":"_pubkey","type":"uint256"}, 36 | {"name":"_timestamp","type":"uint64"}, 37 | {"name":"_constructorFlag","type":"bool"} 38 | ] 39 | } 40 | -------------------------------------------------------------------------------- /packages/lib-web/example/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import './index.css'; 4 | import App from './App'; 5 | import reportWebVitals from './reportWebVitals'; 6 | import {TonClient} from "@eversdk/core"; 7 | import {libWeb} from "@eversdk/lib-web"; 8 | 9 | ReactDOM.render( 10 | 11 | 12 | , 13 | document.getElementById('root') 14 | ); 15 | 16 | // If you want to start measuring performance in your app, pass a function 17 | // to log results (for example: reportWebVitals(console.log)) 18 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals 19 | reportWebVitals(); 20 | 21 | TonClient.useBinaryLibrary(libWeb); // eslint-disable-line react-hooks/rules-of-hooks 22 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/Setcode.abi.json: -------------------------------------------------------------------------------- 1 | { 2 | "ABI version": 2, 3 | "header": ["time", "expire"], 4 | "functions": [ 5 | { 6 | "name": "main", 7 | "inputs": [ 8 | {"name":"newcode","type":"cell"} 9 | ], 10 | "outputs": [ 11 | {"name":"value0","type":"uint256"} 12 | ] 13 | }, 14 | { 15 | "name": "getVersion", 16 | "inputs": [ 17 | ], 18 | "outputs": [ 19 | {"name":"value0","type":"uint256"} 20 | ] 21 | }, 22 | { 23 | "name": "sendAllMoney", 24 | "inputs": [ 25 | {"name":"dest_addr","type":"address"} 26 | ], 27 | "outputs": [ 28 | ] 29 | }, 30 | { 31 | "name": "constructor", 32 | "inputs": [ 33 | ], 34 | "outputs": [ 35 | ] 36 | } 37 | ], 38 | "data": [ 39 | ], 40 | "events": [ 41 | ] 42 | } 43 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/Setcode2.abi.json: -------------------------------------------------------------------------------- 1 | { 2 | "ABI version": 2, 3 | "header": ["time", "expire"], 4 | "functions": [ 5 | { 6 | "name": "main", 7 | "inputs": [ 8 | {"name":"newcode","type":"cell"} 9 | ], 10 | "outputs": [ 11 | {"name":"value0","type":"uint256"} 12 | ] 13 | }, 14 | { 15 | "name": "getNewVersion", 16 | "inputs": [ 17 | ], 18 | "outputs": [ 19 | {"name":"value0","type":"uint256"} 20 | ] 21 | }, 22 | { 23 | "name": "sendAllMoney", 24 | "inputs": [ 25 | {"name":"dest_addr","type":"address"} 26 | ], 27 | "outputs": [ 28 | ] 29 | }, 30 | { 31 | "name": "constructor", 32 | "inputs": [ 33 | ], 34 | "outputs": [ 35 | ] 36 | } 37 | ], 38 | "data": [ 39 | ], 40 | "events": [ 41 | ] 42 | } 43 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/android/src/main/java/com/tonlabs/tonclientjsi/TonClientJsiPackage.java: -------------------------------------------------------------------------------- 1 | package com.tonlabs.tonclientjsi; 2 | 3 | import com.facebook.react.ReactPackage; 4 | import com.facebook.react.bridge.NativeModule; 5 | import com.facebook.react.bridge.ReactApplicationContext; 6 | import com.facebook.react.uimanager.ViewManager; 7 | 8 | import java.util.Collections; 9 | import java.util.List; 10 | 11 | public class TonClientJsiPackage implements ReactPackage { 12 | @Override 13 | public List createNativeModules(ReactApplicationContext reactContext) { 14 | return Collections.emptyList(); 15 | } 16 | 17 | @Override 18 | public List createViewManagers(ReactApplicationContext reactContext) { 19 | return Collections.emptyList(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /packages/lib-web/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@eversdk/lib-web", 3 | "version": "1.49.2", 4 | "description": "TON Client WASM module for browsers", 5 | "main": "index.js", 6 | "repository": { 7 | "type": "git", 8 | "url": "https://github.com/everx-labs/ever-sdk-js.git" 9 | }, 10 | "scripts": { 11 | "postinstall": "node install.js" 12 | }, 13 | "publishConfig": { 14 | "access": "public" 15 | }, 16 | "keywords": [ 17 | "TON", 18 | "Client", 19 | "FreeTON", 20 | "TONOS", 21 | "SDK" 22 | ], 23 | "author": "TON Labs LTD.", 24 | "license": "Apache-2.0", 25 | "licenses": [ 26 | { 27 | "type": "Apache-2.0", 28 | "url": "http://www.apache.org/licenses/LICENSE-2.0" 29 | } 30 | ], 31 | "homepage": "https://docs.ton.dev/", 32 | "engines": { 33 | "node": ">=6" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/InitCodeHash.abi.json: -------------------------------------------------------------------------------- 1 | { 2 | "ABI version": 2, 3 | "version": "2.2", 4 | "header": ["time"], 5 | "functions": [ 6 | { 7 | "name": "f", 8 | "inputs": [ 9 | ], 10 | "outputs": [ 11 | {"name":"value0","type":"uint256"} 12 | ] 13 | }, 14 | { 15 | "name": "getCode", 16 | "inputs": [ 17 | ], 18 | "outputs": [ 19 | {"name":"value0","type":"cell"} 20 | ] 21 | }, 22 | { 23 | "name": "constructor", 24 | "inputs": [ 25 | ], 26 | "outputs": [ 27 | ] 28 | } 29 | ], 30 | "data": [ 31 | ], 32 | "events": [ 33 | ], 34 | "fields": [ 35 | {"name":"_pubkey","type":"uint256"}, 36 | {"name":"_timestamp","type":"uint64"}, 37 | {"name":"_constructorFlag","type":"bool"}, 38 | {"name":"m","type":"uint256"} 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/scripts/bootstrap.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | const child_process = require('child_process'); 3 | 4 | const root = path.resolve(__dirname, '..'); 5 | const args = process.argv.slice(2); 6 | const options = { 7 | cwd: process.cwd(), 8 | env: process.env, 9 | stdio: 'inherit', 10 | encoding: 'utf-8', 11 | }; 12 | 13 | let result; 14 | 15 | if (process.cwd() !== root || args.length) { 16 | // We're not in the root of the project, or additional arguments were passed 17 | // In this case, forward the command to `yarn` 18 | result = child_process.spawnSync('yarn', args, options); 19 | } else { 20 | // If `yarn` is run without arguments, perform bootstrap 21 | result = child_process.spawnSync('yarn', ['bootstrap'], options); 22 | } 23 | 24 | process.exitCode = result.status; 25 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/cpp/Blob.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #include 6 | #include 7 | 8 | using namespace facebook; 9 | 10 | namespace tonlabs 11 | { 12 | class Blob 13 | { 14 | public: 15 | Blob(std::string blobId, int offset, int size) : blobId(blobId), offset(offset), size(size) {} 16 | 17 | static Blob fromDynamic(const folly::dynamic &value); 18 | 19 | static Blob fromValue(jsi::Runtime &rt, const jsi::Object &jsBlob); // must be called from the React Native JS thread 20 | 21 | jsi::Value toValue(jsi::Runtime &rt) const; // must be called from the React Native JS thread 22 | 23 | private: 24 | std::string blobId; 25 | int offset; 26 | int size; 27 | 28 | friend class BlobManager; 29 | }; 30 | 31 | } // namespace tonlabs 32 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v1/Setcode.sol: -------------------------------------------------------------------------------- 1 | pragma solidity ^0.5.0; 2 | pragma experimental ABIEncoderV2; 3 | 4 | contract Setcode { 5 | 6 | modifier onlyOwner { 7 | require(msg.pubkey() == tvm.pubkey(), 100); 8 | tvm.accept(); 9 | _; 10 | } 11 | 12 | function main(TvmCell newcode) public pure returns (uint) { 13 | tvm.accept(); 14 | tvm.setcode(newcode); 15 | return 0; 16 | } 17 | 18 | function getVersion() public pure returns (uint) { 19 | tvm.accept(); 20 | return 1; 21 | } 22 | 23 | function getNewVersion() public pure returns (uint) { 24 | tvm.accept(); 25 | return 2; 26 | } 27 | 28 | function sendAllMoney(address payable dest_addr) public onlyOwner { 29 | selfdestruct(dest_addr); 30 | } 31 | 32 | } -------------------------------------------------------------------------------- /packages/tests-react-native/ios/TestSDK/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /packages/lib-node/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@eversdk/lib-node", 3 | "version": "1.49.2", 4 | "description": "TON Client NodeJs AddOn", 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/everx-labs/ever-sdk-js.git" 8 | }, 9 | "scripts": { 10 | "postinstall": "node install.js" 11 | }, 12 | "publishConfig": { 13 | "access": "public" 14 | }, 15 | "keywords": [ 16 | "TON", 17 | "Client", 18 | "FreeTON", 19 | "TONOS", 20 | "SDK" 21 | ], 22 | "author": "TON Labs LTD.", 23 | "license": "Apache-2.0", 24 | "licenses": [ 25 | { 26 | "type": "Apache-2.0", 27 | "url": "http://www.apache.org/licenses/LICENSE-2.0" 28 | } 29 | ], 30 | "homepage": "https://docs.ton.dev/", 31 | "engines": { 32 | "node": ">=6" 33 | }, 34 | "devDependencies": { 35 | "@types/node": "14.11.8" 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/ios/tests_runner/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/ios/example63/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/ios/example64/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/ios/example65/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /packages/lib-react-native/ios/lib/src/lib.rs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-2020 TON Labs LTD. 3 | * 4 | * Licensed under the SOFTWARE EVALUATION License (the "License"); you may not use 5 | * this file except in compliance with the License. 6 | * 7 | * Unless required by applicable law or agreed to in writing, software 8 | * distributed under the License is distributed on an "AS IS" BASIS, 9 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | * See the License for the specific TON DEV software governing permissions and 11 | * limitations under the License. 12 | */ 13 | 14 | extern crate libc; 15 | extern crate ever_client; 16 | 17 | pub use ever_client::{ 18 | tc_create_context, tc_destroy_context, tc_destroy_string, tc_read_string, tc_request, 19 | tc_request_sync, CResponseHandler, ContextHandle, ResponseType, StringData, 20 | }; 21 | -------------------------------------------------------------------------------- /packages/lib-react-native/android/src/main/java/tonlabs/tonclient/TonClientPackage.java: -------------------------------------------------------------------------------- 1 | package tonlabs.tonclient; 2 | 3 | import java.util.Arrays; 4 | import java.util.Collections; 5 | import java.util.List; 6 | 7 | import com.facebook.react.ReactPackage; 8 | import com.facebook.react.bridge.NativeModule; 9 | import com.facebook.react.bridge.ReactApplicationContext; 10 | import com.facebook.react.uimanager.ViewManager; 11 | 12 | public class TonClientPackage implements ReactPackage { 13 | @Override 14 | public List createNativeModules(ReactApplicationContext reactContext) { 15 | return Arrays.asList(new TonClientModule(reactContext)); 16 | } 17 | 18 | @Override 19 | public List createViewManagers(ReactApplicationContext reactContext) { 20 | return Collections.emptyList(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /packages/tests-react-native/ios/TestSDKTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v1/Events.abi.json: -------------------------------------------------------------------------------- 1 | { 2 | "ABI version": 1, 3 | "functions": [ 4 | { 5 | "name": "constructor", 6 | "inputs": [ 7 | ], 8 | "outputs": [ 9 | ] 10 | }, 11 | { 12 | "name": "emitValue", 13 | "inputs": [ 14 | {"name":"id","type":"uint256"} 15 | ], 16 | "outputs": [ 17 | ] 18 | }, 19 | { 20 | "name": "returnValue", 21 | "inputs": [ 22 | {"name":"id","type":"uint256"} 23 | ], 24 | "outputs": [ 25 | {"name":"value0","type":"uint256"} 26 | ] 27 | }, 28 | { 29 | "name": "sendAllMoney", 30 | "inputs": [ 31 | {"name":"dest_addr","type":"address"} 32 | ], 33 | "outputs": [ 34 | ] 35 | } 36 | ], 37 | "events": [ 38 | { 39 | "name": "EventThrown", 40 | "inputs": [ 41 | {"name":"id","type":"uint256"} 42 | ], 43 | "outputs": [ 44 | ] 45 | } 46 | ] 47 | } 48 | -------------------------------------------------------------------------------- /packages/lib-react-native/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@eversdk/lib-react-native", 3 | "version": "1.49.2", 4 | "description": "TON Client React Native Module", 5 | "main": "index.js", 6 | "repository": { 7 | "type": "git", 8 | "url": "https://github.com/everx-labs/ever-sdk-js.git" 9 | }, 10 | "scripts": { 11 | "postinstall": "node install.js" 12 | }, 13 | "publishConfig": { 14 | "access": "public" 15 | }, 16 | "keywords": [ 17 | "TON", 18 | "Client", 19 | "FreeTON", 20 | "TONOS", 21 | "SDK" 22 | ], 23 | "author": "TON Labs LTD.", 24 | "license": "Apache-2.0", 25 | "licenses": [ 26 | { 27 | "type": "Apache-2.0", 28 | "url": "http://www.apache.org/licenses/LICENSE-2.0" 29 | } 30 | ], 31 | "homepage": "https://docs.ton.dev/", 32 | "engines": { 33 | "node": ">=6" 34 | }, 35 | "peerDependencies": { 36 | "react-native": "^0.63.3" 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /packages/tests-node/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@eversdk/tests-node", 3 | "version": "1.49.2", 4 | "private": true, 5 | "description": "TON Client Tests runner on NodeJs", 6 | "main": "index.js", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/everx-labs/ever-sdk-js.git" 10 | }, 11 | "author": "TON Labs LTD.", 12 | "license": "Apache-2.0", 13 | "licenses": [ 14 | { 15 | "type": "Apache-2.0", 16 | "url": "http://www.apache.org/licenses/LICENSE-2.0" 17 | } 18 | ], 19 | "homepage": "https://docs.ton.dev/", 20 | "engines": { 21 | "node": ">=6" 22 | }, 23 | "dependencies": { 24 | "@eversdk/core": "file:../core", 25 | "@eversdk/lib-node": "file:../lib-node", 26 | "@eversdk/tests": "file:../tests", 27 | "commander": "^10.0.0" 28 | }, 29 | "devDependencies": { 30 | "@types/node": "14.11.8", 31 | "typescript": "4.0.3" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/ios/tests_runnerTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v1/Setcode.abi.json: -------------------------------------------------------------------------------- 1 | { 2 | "ABI version": 1, 3 | "functions": [ 4 | { 5 | "name": "constructor", 6 | "inputs": [ 7 | ], 8 | "outputs": [ 9 | ] 10 | }, 11 | { 12 | "name": "main", 13 | "inputs": [ 14 | {"name":"newcode","type":"cell"} 15 | ], 16 | "outputs": [ 17 | {"name":"value0","type":"uint256"} 18 | ] 19 | }, 20 | { 21 | "name": "getVersion", 22 | "inputs": [ 23 | ], 24 | "outputs": [ 25 | {"name":"value0","type":"uint256"} 26 | ] 27 | }, 28 | { 29 | "name": "getNewVersion", 30 | "inputs": [ 31 | ], 32 | "outputs": [ 33 | {"name":"value0","type":"uint256"} 34 | ] 35 | }, 36 | { 37 | "name": "sendAllMoney", 38 | "inputs": [ 39 | {"name":"dest_addr","type":"address"} 40 | ], 41 | "outputs": [ 42 | ] 43 | } 44 | ], 45 | "events": [ 46 | ] 47 | } 48 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/ios/example63Tests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/ios/example64Tests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/ios/example65Tests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/ios/example63-tvOSTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "example63", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "android": "react-native run-android", 7 | "ios": "react-native run-ios", 8 | "start": "react-native start", 9 | "test": "jest", 10 | "lint": "eslint ." 11 | }, 12 | "dependencies": { 13 | "@eversdk/core": "file:../../core", 14 | "buffer": "^6.0.2", 15 | "react": "16.13.1", 16 | "react-native": "0.63.4" 17 | }, 18 | "devDependencies": { 19 | "@babel/core": "^7.8.4", 20 | "@babel/runtime": "^7.8.4", 21 | "@react-native-community/eslint-config": "^1.1.0", 22 | "babel-jest": "^25.1.0", 23 | "eslint": "^6.5.1", 24 | "jest": "^25.1.0", 25 | "metro-react-native-babel-preset": "^0.59.0", 26 | "react-test-renderer": "16.13.1" 27 | }, 28 | "jest": { 29 | "preset": "react-native" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "example64", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "android": "react-native run-android", 7 | "ios": "react-native run-ios", 8 | "start": "react-native start", 9 | "test": "jest", 10 | "lint": "eslint ." 11 | }, 12 | "dependencies": { 13 | "@eversdk/core": "file:../../core", 14 | "buffer": "^6.0.2", 15 | "react": "17.0.1", 16 | "react-native": "0.64.0" 17 | }, 18 | "devDependencies": { 19 | "@babel/core": "^7.12.9", 20 | "@babel/runtime": "^7.12.5", 21 | "@react-native-community/eslint-config": "^2.0.0", 22 | "babel-jest": "^26.6.3", 23 | "eslint": "7.14.0", 24 | "jest": "^26.6.3", 25 | "metro-react-native-babel-preset": "^0.64.0", 26 | "react-test-renderer": "17.0.1" 27 | }, 28 | "jest": { 29 | "preset": "react-native" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /packages/cli/contracts/Touch.abi.json: -------------------------------------------------------------------------------- 1 | { 2 | "ABI version": 2, 3 | "version": "2.3", 4 | "header": ["time", "expire"], 5 | "functions": [ 6 | { 7 | "name": "constructor", 8 | "inputs": [ 9 | ], 10 | "outputs": [ 11 | ] 12 | }, 13 | { 14 | "name": "touch", 15 | "inputs": [ 16 | ], 17 | "outputs": [ 18 | ] 19 | }, 20 | { 21 | "name": "getTimestamp", 22 | "inputs": [ 23 | ], 24 | "outputs": [ 25 | {"name":"value0","type":"uint32"} 26 | ] 27 | }, 28 | { 29 | "name": "timestamp", 30 | "inputs": [ 31 | ], 32 | "outputs": [ 33 | {"name":"timestamp","type":"uint32"} 34 | ] 35 | } 36 | ], 37 | "data": [ 38 | ], 39 | "events": [ 40 | ], 41 | "fields": [ 42 | {"name":"_pubkey","type":"uint256"}, 43 | {"name":"_timestamp","type":"uint64"}, 44 | {"name":"_constructorFlag","type":"bool"}, 45 | {"name":"timestamp","type":"uint32"} 46 | ] 47 | } 48 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/ios/tests_runner-tvOSTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # OSX 2 | # 3 | .DS_Store 4 | **/*.swp 5 | **/*.swo 6 | .idea/ 7 | .vscode/ 8 | node_modules/ 9 | package-lock.json 10 | /__tests__/*.dylib 11 | /__tests__/*.node 12 | /coverage/ 13 | Jenkinsfile 14 | /reinstall.sh 15 | /uninstall.sh 16 | **/*.a 17 | **/*.so 18 | **/*.dylib 19 | **/*.node 20 | **/*.wasm 21 | **/dist/ 22 | **/*.map 23 | **/*.tsbuildinfo 24 | /packages/lib-web/publish 25 | /packages/lib-web/index.js 26 | /packages/lib-node/publish 27 | /packages/lib-node/lib/build 28 | /packages/lib-react-native/ios/publish 29 | /packages/lib-react-native/android/lib/NDK 30 | /packages/lib-react-native/android/publish 31 | /packages/lib-react-native/android/build/.transforms 32 | /packages/lib-react-native/android/build/generated 33 | /packages/lib-react-native/android/build/intermediates 34 | /packages/lib-react-native/android/build/outputs 35 | **/Cargo.lock 36 | **/publish/** 37 | **/target/** 38 | **/*.tgz 39 | **/BUCK 40 | -------------------------------------------------------------------------------- /packages/lib-web/example/README.md: -------------------------------------------------------------------------------- 1 | # Sample React App 2 | 3 | This sample app based on [Create React App](https://github.com/facebook/create-react-app), 4 | it runs the "@eversdk/lib-web" library in the browser to work with the everscale blockchain. 5 | 6 | ## Prerequisites 7 | 8 | Node.js **ver.16**.\ 9 | This sample was tested with Node.js v16.17.0. You will have to make changes to run it with Node v17 or higher. 10 | 11 | ## Install dependencies 12 | 13 | In the project directory, run: 14 | 15 | ``` 16 | cd ../../core/ 17 | npm i && npm run build 18 | 19 | cd ../lib-web/example 20 | npm i 21 | ``` 22 | 23 | ## Runs the App in the development mode 24 | 25 | ``` 26 | npm start 27 | ``` 28 | 29 | Open [http://localhost:3000](http://localhost:3000) to view it in your browser. 30 | 31 | For testing with Jest, see [github.com/everx-labs/sdk-samples](https://github.com/everx-labs/sdk-samples/blob/master/core-examples/react-jest) 32 | -------------------------------------------------------------------------------- /packages/cli/utils.ts: -------------------------------------------------------------------------------- 1 | import { InvalidArgumentError } from "commander" 2 | 3 | export function getDefaultEndpoints() { 4 | return [getEnv("TON_NETWORK_ADDRESS") ?? "http://localhost"] 5 | } 6 | 7 | export function getEnv(name: string): string | undefined { 8 | const globalEval = eval 9 | try { 10 | return globalEval(`process.env.${name}`) 11 | } catch { 12 | return undefined 13 | } 14 | } 15 | 16 | export const sleep = (time: number): Promise => 17 | new Promise(resolve => setTimeout(resolve, time)) 18 | 19 | export function myParseInt(value: string) { 20 | // parseInt takes a string and a radix 21 | const parsedValue = parseInt(value, 10) 22 | if (isNaN(parsedValue)) { 23 | throw new InvalidArgumentError("Not a number.") 24 | } 25 | if (parsedValue <= 0) { 26 | throw new InvalidArgumentError("Should be greater than 0.") 27 | } 28 | return parsedValue 29 | } 30 | -------------------------------------------------------------------------------- /packages/tests-react-native/ios/Podfile: -------------------------------------------------------------------------------- 1 | require_relative '../node_modules/react-native/scripts/react_native_pods' 2 | require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' 3 | 4 | platform :ios, '11.0' 5 | 6 | target 'TestSDK' do 7 | config = use_native_modules! 8 | 9 | use_react_native!( 10 | :path => config[:reactNativePath], 11 | # to enable hermes on iOS, change `false` to `true` and then install pods 12 | :hermes_enabled => false 13 | ) 14 | 15 | target 'TestSDKTests' do 16 | inherit! :complete 17 | # Pods for testing 18 | end 19 | 20 | # Enables Flipper. 21 | # 22 | # Note that if you have use_frameworks! enabled, Flipper will not work and 23 | # you should disable the next line. 24 | use_flipper!() 25 | 26 | post_install do |installer| 27 | react_native_post_install(installer) 28 | __apply_Xcode_12_5_M1_post_install_workaround(installer) 29 | end 30 | end -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": ".", 4 | "paths": { 5 | "lib-react-native-jsi": ["./src/index"] 6 | }, 7 | "allowUnreachableCode": false, 8 | "allowUnusedLabels": false, 9 | "esModuleInterop": true, 10 | "importsNotUsedAsValues": "error", 11 | "forceConsistentCasingInFileNames": true, 12 | "jsx": "react", 13 | "lib": ["esnext", "dom"], 14 | "module": "esnext", 15 | "moduleResolution": "node", 16 | "noFallthroughCasesInSwitch": true, 17 | "noImplicitReturns": true, 18 | "noImplicitUseStrict": false, 19 | "noStrictGenericChecks": false, 20 | "noUnusedLocals": true, 21 | "noUnusedParameters": true, 22 | "resolveJsonModule": true, 23 | "skipLibCheck": true, 24 | "strict": true, 25 | "target": "esnext", 26 | }, 27 | "exclude": [ 28 | "example63", 29 | "example64", 30 | "example65", 31 | ] 32 | } 33 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/Events.abi.json: -------------------------------------------------------------------------------- 1 | { 2 | "ABI version": 2, 3 | "header": ["pubkey", "time", "expire"], 4 | "functions": [ 5 | { 6 | "name": "emitValue", 7 | "inputs": [ 8 | {"name":"id","type":"uint256"} 9 | ], 10 | "outputs": [ 11 | ] 12 | }, 13 | { 14 | "name": "returnValue", 15 | "inputs": [ 16 | {"name":"id","type":"uint256"} 17 | ], 18 | "outputs": [ 19 | {"name":"value0","type":"uint256"} 20 | ] 21 | }, 22 | { 23 | "name": "sendAllMoney", 24 | "inputs": [ 25 | {"name":"dest_addr","type":"address"} 26 | ], 27 | "outputs": [ 28 | ] 29 | }, 30 | { 31 | "name": "constructor", 32 | "inputs": [ 33 | ], 34 | "outputs": [ 35 | ] 36 | } 37 | ], 38 | "data": [ 39 | ], 40 | "events": [ 41 | { 42 | "name": "EventThrown", 43 | "inputs": [ 44 | {"name":"id","type":"uint256"} 45 | ], 46 | "outputs": [ 47 | ] 48 | } 49 | ] 50 | } 51 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/.gitignore: -------------------------------------------------------------------------------- 1 | # OSX 2 | # 3 | .DS_Store 4 | 5 | # XDE 6 | .expo/ 7 | 8 | # VSCode 9 | .vscode/ 10 | jsconfig.json 11 | 12 | # Xcode 13 | # 14 | build/ 15 | *.pbxuser 16 | !default.pbxuser 17 | *.mode1v3 18 | !default.mode1v3 19 | *.mode2v3 20 | !default.mode2v3 21 | *.perspectivev3 22 | !default.perspectivev3 23 | xcuserdata 24 | *.xccheckout 25 | *.moved-aside 26 | DerivedData 27 | *.hmap 28 | *.ipa 29 | *.xcuserstate 30 | project.xcworkspace 31 | 32 | # Android/IJ 33 | # 34 | .idea 35 | .gradle 36 | local.properties 37 | android.iml 38 | 39 | # Cocoapods 40 | # 41 | example/ios/Pods 42 | 43 | # node.js 44 | # 45 | node_modules/ 46 | npm-debug.log 47 | yarn-debug.log 48 | yarn-error.log 49 | 50 | # BUCK 51 | buck-out/ 52 | \.buckd/ 53 | android/app/libs 54 | android/keystores/debug.keystore 55 | android/.cxx 56 | 57 | # Expo 58 | .expo/* 59 | 60 | # generated by bob 61 | lib/ 62 | 63 | libtonclient.so 64 | libtonclient.a 65 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/ios/Podfile: -------------------------------------------------------------------------------- 1 | require_relative '../node_modules/react-native/scripts/react_native_pods' 2 | require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' 3 | 4 | platform :ios, '11.0' 5 | 6 | target 'example65' do 7 | config = use_native_modules! 8 | 9 | use_react_native!( 10 | :path => config[:reactNativePath], 11 | # to enable hermes on iOS, change `false` to `true` and then install pods 12 | :hermes_enabled => false 13 | ) 14 | 15 | pod 'lib-react-native-jsi', :path => '../..' 16 | 17 | target 'example65Tests' do 18 | inherit! :complete 19 | # Pods for testing 20 | end 21 | 22 | # Enables Flipper. 23 | # 24 | # Note that if you have use_frameworks! enabled, Flipper will not work and 25 | # you should disable the next line. 26 | use_flipper!() 27 | 28 | post_install do |installer| 29 | react_native_post_install(installer) 30 | end 31 | end 32 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "example65", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "android": "react-native run-android", 7 | "ios": "react-native run-ios", 8 | "start": "react-native start", 9 | "test": "jest", 10 | "lint": "eslint ." 11 | }, 12 | "dependencies": { 13 | "@eversdk/core": "file:../../core", 14 | "buffer": "^6.0.2", 15 | "react": "17.0.2", 16 | "react-native": "0.65.0" 17 | }, 18 | "devDependencies": { 19 | "@babel/core": "^7.12.9", 20 | "@babel/runtime": "^7.12.5", 21 | "@react-native-community/eslint-config": "^2.0.0", 22 | "babel-jest": "^26.6.3", 23 | "eslint": "7.14.0", 24 | "jest": "^26.6.3", 25 | "metro-react-native-babel-preset": "^0.66.0", 26 | "react-native-codegen": "^0.0.7", 27 | "react-test-renderer": "17.0.1" 28 | }, 29 | "jest": { 30 | "preset": "react-native" 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-2020 TON Labs LTD. 3 | * 4 | * Licensed under the SOFTWARE EVALUATION License (the "License"); you may not use 5 | * this file except in compliance with the License. 6 | * 7 | * Unless required by applicable law or agreed to in writing, software 8 | * distributed under the License is distributed on an "AS IS" BASIS, 9 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | * See the License for the specific TON DEV software governing permissions and 11 | * limitations under the License. 12 | * 13 | */ 14 | import entry from "./entry"; 15 | import { TonClient } from "@eversdk/core"; 16 | import { libReactNativeJsi } from "@eversdk/lib-react-native-jsi"; 17 | import { AppRegistry } from "react-native"; 18 | import App from "./App"; 19 | 20 | entry(); 21 | 22 | TonClient.useBinaryLibrary(libReactNativeJsi); 23 | AppRegistry.registerComponent("tests_runner", () => App); 24 | -------------------------------------------------------------------------------- /packages/tests-web/index.js: -------------------------------------------------------------------------------- 1 | import entry from './entry'; 2 | import { TonClient } from '@eversdk/core'; 3 | import { libWeb, libWebSetup } from "@eversdk/lib-web"; 4 | import { TestsRunner } from "@eversdk/tests"; 5 | 6 | entry(); 7 | libWebSetup({ 8 | disableSeparateWorker: true 9 | }) 10 | TonClient.useBinaryLibrary(libWeb); 11 | 12 | window.addEventListener('load', () => { 13 | (async () => { 14 | try { 15 | await TestsRunner.run( 16 | ({ version, passed, failed, finished }) => { 17 | document.body.innerHTML = `Core Version ${version}
Passed: ${passed}
Failed: ${failed}
${finished ? 'Finished' : ''}`; 18 | }, 19 | (...args) => console.log(...args), 20 | ); 21 | } catch (error) { 22 | console.log('>>>', error); 23 | document.body.innerHTML = 'Error'; 24 | } 25 | })(); 26 | // startTests(() => {}); 27 | }); 28 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/MultiTouch.abi.json: -------------------------------------------------------------------------------- 1 | { 2 | "ABI version": 2, 3 | "version": "2.3", 4 | "header": ["time", "expire"], 5 | "functions": [ 6 | { 7 | "name": "constructor", 8 | "inputs": [ 9 | ], 10 | "outputs": [ 11 | ] 12 | }, 13 | { 14 | "name": "touch", 15 | "inputs": [ 16 | {"name":"seqno","type":"uint32"} 17 | ], 18 | "outputs": [ 19 | ] 20 | }, 21 | { 22 | "name": "getTimestamp", 23 | "inputs": [ 24 | ], 25 | "outputs": [ 26 | {"name":"value0","type":"uint32"} 27 | ] 28 | }, 29 | { 30 | "name": "timestamp", 31 | "inputs": [ 32 | ], 33 | "outputs": [ 34 | {"name":"timestamp","type":"uint32"} 35 | ] 36 | } 37 | ], 38 | "data": [ 39 | ], 40 | "events": [ 41 | ], 42 | "fields": [ 43 | {"name":"_pubkey","type":"uint256"}, 44 | {"name":"_timestamp","type":"uint64"}, 45 | {"name":"_constructorFlag","type":"bool"}, 46 | {"name":"timestamp","type":"uint32"} 47 | ] 48 | } 49 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v1/Deployee.sol: -------------------------------------------------------------------------------- 1 | pragma solidity >=0.5.0; 2 | pragma AbiHeader v1; 3 | 4 | contract Simple { 5 | 6 | uint32 param1; 7 | uint param2; 8 | 9 | constructor(uint32 _param1, uint _param2) public { 10 | param1 = _param1; 11 | param2 = _param2; 12 | } 13 | 14 | function get() public view alwaysAccept returns (uint32, uint) { 15 | return (param1, param2); 16 | } 17 | 18 | modifier alwaysAccept { 19 | // Runtime function that allows contract to process inbound messages spending 20 | // its own resources (it's necessary if contract should process all inbound messages, 21 | // not only those that carry value with them). 22 | tvm.accept(); 23 | _; 24 | } 25 | 26 | modifier OnlyOwner { 27 | require(msg.pubkey() == tvm.pubkey(), 100); 28 | tvm.accept(); 29 | _; 30 | } 31 | 32 | function sendAllMoney(address payable dest_addr) public OnlyOwner { 33 | selfdestruct(dest_addr); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /packages/tests-react-native/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@eversdk/tests-react-native", 3 | "version": "1.49.2", 4 | "private": true, 5 | "main": "index.js", 6 | "browser": true, 7 | "scripts": { 8 | "android": "react-native run-android", 9 | "ios": "react-native run-ios", 10 | "start": "react-native start" 11 | }, 12 | "dependencies": { 13 | "@eversdk/core": "file:../core", 14 | "@eversdk/lib-react-native": "file:../lib-react-native", 15 | "@eversdk/tests": "file:../tests", 16 | "assert": "^2.0.0", 17 | "buffer": "^6.0.2", 18 | "react": "17.0.2", 19 | "react-native": "0.67.3" 20 | }, 21 | "devDependencies": { 22 | "@babel/core": "^7.15.0", 23 | "@babel/runtime": "^7.15.0", 24 | "@types/react": "17.0.21", 25 | "@types/react-native": "0.67.3", 26 | "find-process": "1.4.4", 27 | "metro-react-native-babel-preset": "^0.66.2", 28 | "metro-react-native-babel-transformer": "^0.66.2", 29 | "typescript": "4.6.2" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /packages/core/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@eversdk/core", 3 | "version": "1.49.2", 4 | "description": "TON Client for Java Script", 5 | "main": "dist/index.js", 6 | "types": "dist/index.d.ts", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/everx-labs/ever-sdk-js.git" 10 | }, 11 | "scripts": { 12 | "prepublishOnly": "npm i && node before-compile.js && tsc", 13 | "build": "node before-compile.js && tsc" 14 | }, 15 | "publishConfig": { 16 | "access": "public" 17 | }, 18 | "keywords": [ 19 | "TON", 20 | "Client", 21 | "FreeTON", 22 | "TONOS", 23 | "SDK" 24 | ], 25 | "author": "TON Labs LTD.", 26 | "license": "Apache-2.0", 27 | "licenses": [ 28 | { 29 | "type": "Apache-2.0", 30 | "url": "http://www.apache.org/licenses/LICENSE-2.0" 31 | } 32 | ], 33 | "homepage": "https://docs.ton.dev/", 34 | "engines": { 35 | "node": ">=6" 36 | }, 37 | "devDependencies": { 38 | "none": "^1.0.0", 39 | "typedoc": "^0.22.11", 40 | "typescript": "^4.0.3" 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/Deployee.sol: -------------------------------------------------------------------------------- 1 | pragma solidity >=0.5.0; 2 | pragma AbiHeader time; 3 | pragma AbiHeader expire; 4 | 5 | contract Simple { 6 | 7 | uint32 param1; 8 | uint param2; 9 | 10 | constructor(uint32 _param1, uint _param2) public { 11 | param1 = _param1; 12 | param2 = _param2; 13 | } 14 | 15 | function get() public view alwaysAccept returns (uint32, uint) { 16 | return (param1, param2); 17 | } 18 | 19 | modifier alwaysAccept { 20 | // Runtime function that allows contract to process inbound messages spending 21 | // its own resources (it's necessary if contract should process all inbound messages, 22 | // not only those that carry value with them). 23 | tvm.accept(); 24 | _; 25 | } 26 | 27 | modifier OnlyOwner { 28 | require(msg.pubkey() == tvm.pubkey(), 100); 29 | tvm.accept(); 30 | _; 31 | } 32 | 33 | function sendAllMoney(address dest_addr) public OnlyOwner { 34 | selfdestruct(dest_addr); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/ios/Podfile: -------------------------------------------------------------------------------- 1 | require_relative '../node_modules/react-native/scripts/react_native_pods' 2 | require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' 3 | 4 | platform :ios, '10.0' 5 | 6 | target 'example64' do 7 | config = use_native_modules! 8 | 9 | use_react_native!( 10 | :path => config[:reactNativePath], 11 | # to enable hermes on iOS, change `false` to `true` and then install pods 12 | :hermes_enabled => true 13 | ) 14 | 15 | pod 'lib-react-native-jsi', :path => '../..' 16 | 17 | target 'example64Tests' do 18 | inherit! :complete 19 | # Pods for testing 20 | end 21 | 22 | # Enables Flipper. 23 | # 24 | # Note that if you have use_frameworks! enabled, Flipper will not work and 25 | # you should disable the next line. 26 | use_flipper!({'Flipper' => '0.75.1', 'Flipper-Folly' => '2.5.3', 'Flipper-RSocket' => '~> 1.3'}) 27 | 28 | post_install do |installer| 29 | react_native_post_install(installer) 30 | end 31 | end 32 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/ios/Podfile: -------------------------------------------------------------------------------- 1 | require_relative '../node_modules/react-native/scripts/react_native_pods' 2 | require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' 3 | 4 | platform :ios, '10.0' 5 | 6 | target 'tests_runner' do 7 | config = use_native_modules! 8 | 9 | use_react_native!(:path => config["reactNativePath"]) 10 | 11 | target 'tests_runnerTests' do 12 | inherit! :complete 13 | # Pods for testing 14 | end 15 | 16 | # Enables Flipper. 17 | # 18 | # Note that if you have use_frameworks! enabled, Flipper will not work and 19 | # you should disable these next few lines. 20 | use_flipper!({'Flipper' => '0.75.1', 'Flipper-Folly' => '2.5.3', 'Flipper-RSocket' => '1.3.1'}) 21 | post_install do |installer| 22 | flipper_post_install(installer) 23 | end 24 | end 25 | 26 | target 'tests_runner-tvOS' do 27 | # Pods for test_req_deps-tvOS 28 | 29 | target 'tests_runner-tvOSTests' do 30 | inherit! :search_paths 31 | # Pods for testing 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /packages/tests-react-native/android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 13 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/android/src/main/java/com/tonlabs/tonclientjsi/TonClientJsiBlobManager.java: -------------------------------------------------------------------------------- 1 | package com.tonlabs.tonclientjsi; 2 | 3 | import com.facebook.react.modules.blob.BlobModule; 4 | 5 | import java.nio.ByteBuffer; 6 | 7 | class TonClientJsiBlobManager { 8 | final private BlobModule reactNativeBlobModule; 9 | 10 | public TonClientJsiBlobManager(BlobModule reactNativeBlobModule) { 11 | this.reactNativeBlobModule = reactNativeBlobModule; 12 | } 13 | 14 | public String store(ByteBuffer buffer) { 15 | byte[] data = new byte[buffer.limit()]; 16 | buffer.get(data); 17 | String blobId = this.reactNativeBlobModule.store(data); 18 | return blobId; 19 | } 20 | 21 | public ByteBuffer resolve(String blobId, int offset, int size) { 22 | byte[] data = this.reactNativeBlobModule.resolve(blobId, offset, size); 23 | if (data == null) { 24 | throw new RuntimeException("Blob " + blobId + " not found"); 25 | } 26 | ByteBuffer buffer = ByteBuffer.allocateDirect(data.length); 27 | buffer.put(data); 28 | return buffer; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/cpp/TonClientJsiBlobManager.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | 6 | using namespace facebook; 7 | 8 | namespace tonlabs 9 | { 10 | 11 | struct TonClientJsiBlobManager : jni::JavaClass 12 | { 13 | __unused static constexpr auto kJavaDescriptor = "Lcom/everx-labs/tonclientjsi/TonClientJsiBlobManager;"; 14 | 15 | std::string store(jni::alias_ref byteBuffer) // calling thread must be attached to JVM 16 | { 17 | static const auto method = getClass()->getMethod)>("store"); 18 | return method(self(), byteBuffer)->toStdString(); 19 | } 20 | 21 | jni::local_ref resolve(std::string blobId, jint offset, jint size) // calling thread must be attached to JVM 22 | { 23 | static const auto method = getClass()->getMethod("resolve"); 24 | return method(self(), blobId, offset, size); 25 | } 26 | }; 27 | 28 | } // namespace tonlabs 29 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/ios/Podfile: -------------------------------------------------------------------------------- 1 | require_relative '../node_modules/react-native/scripts/react_native_pods' 2 | require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' 3 | 4 | platform :ios, '10.0' 5 | 6 | target 'example63' do 7 | config = use_native_modules! 8 | 9 | use_react_native!(:path => config["reactNativePath"]) 10 | 11 | pod 'lib-react-native-jsi', :path => '../..' 12 | 13 | target 'example63Tests' do 14 | inherit! :complete 15 | # Pods for testing 16 | end 17 | 18 | # Enables Flipper. 19 | # 20 | # Note that if you have use_frameworks! enabled, Flipper will not work and 21 | # you should disable these next few lines. 22 | use_flipper!({'Flipper' => '0.75.1', 'Flipper-Folly' => '2.5.3', 'Flipper-RSocket' => '~> 1.3'}) 23 | 24 | post_install do |installer| 25 | flipper_post_install(installer) 26 | end 27 | end 28 | 29 | target 'example63-tvOS' do 30 | # Pods for example63-tvOS 31 | 32 | target 'example63-tvOSTests' do 33 | inherit! :search_paths 34 | # Pods for testing 35 | end 36 | end 37 | -------------------------------------------------------------------------------- /packages/lib-react-native/ios/TonClientModule.xcodeproj/xcuserdata/michaelvlasov.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | TONClientLibraryForReactNative.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | TONClientReactNative.xcscheme_^#shared#^_ 13 | 14 | orderHint 15 | 0 16 | 17 | TONNative.xcscheme_^#shared#^_ 18 | 19 | orderHint 20 | 0 21 | 22 | TONReactNativeModule.xcscheme_^#shared#^_ 23 | 24 | orderHint 25 | 1 26 | 27 | TONSDKForReactNative.xcscheme_^#shared#^_ 28 | 29 | orderHint 30 | 0 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/.gitignore: -------------------------------------------------------------------------------- 1 | # OSX 2 | # 3 | .DS_Store 4 | 5 | # Xcode 6 | # 7 | build/ 8 | *.pbxuser 9 | !default.pbxuser 10 | *.mode1v3 11 | !default.mode1v3 12 | *.mode2v3 13 | !default.mode2v3 14 | *.perspectivev3 15 | !default.perspectivev3 16 | xcuserdata 17 | *.xccheckout 18 | *.moved-aside 19 | DerivedData 20 | *.hmap 21 | *.ipa 22 | *.xcuserstate 23 | 24 | # Android/IntelliJ 25 | # 26 | build/ 27 | .idea 28 | .gradle 29 | local.properties 30 | *.iml 31 | 32 | # node.js 33 | # 34 | node_modules/ 35 | npm-debug.log 36 | yarn-error.log 37 | 38 | # BUCK 39 | buck-out/ 40 | \.buckd/ 41 | *.keystore 42 | !debug.keystore 43 | 44 | # fastlane 45 | # 46 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 47 | # screenshots whenever they are needed. 48 | # For more information about the recommended setup visit: 49 | # https://docs.fastlane.tools/best-practices/source-control/ 50 | 51 | */fastlane/report.xml 52 | */fastlane/Preview.html 53 | */fastlane/screenshots 54 | 55 | # Bundle artifact 56 | *.jsbundle 57 | 58 | # CocoaPods 59 | /ios/Pods/ 60 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/.gitignore: -------------------------------------------------------------------------------- 1 | # OSX 2 | # 3 | .DS_Store 4 | 5 | # Xcode 6 | # 7 | build/ 8 | *.pbxuser 9 | !default.pbxuser 10 | *.mode1v3 11 | !default.mode1v3 12 | *.mode2v3 13 | !default.mode2v3 14 | *.perspectivev3 15 | !default.perspectivev3 16 | xcuserdata 17 | *.xccheckout 18 | *.moved-aside 19 | DerivedData 20 | *.hmap 21 | *.ipa 22 | *.xcuserstate 23 | 24 | # Android/IntelliJ 25 | # 26 | build/ 27 | .idea 28 | .gradle 29 | local.properties 30 | *.iml 31 | 32 | # node.js 33 | # 34 | node_modules/ 35 | npm-debug.log 36 | yarn-error.log 37 | 38 | # BUCK 39 | buck-out/ 40 | \.buckd/ 41 | *.keystore 42 | !debug.keystore 43 | 44 | # fastlane 45 | # 46 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 47 | # screenshots whenever they are needed. 48 | # For more information about the recommended setup visit: 49 | # https://docs.fastlane.tools/best-practices/source-control/ 50 | 51 | */fastlane/report.xml 52 | */fastlane/Preview.html 53 | */fastlane/screenshots 54 | 55 | # Bundle artifact 56 | *.jsbundle 57 | 58 | # CocoaPods 59 | /ios/Pods/ 60 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/.gitignore: -------------------------------------------------------------------------------- 1 | # OSX 2 | # 3 | .DS_Store 4 | 5 | # Xcode 6 | # 7 | build/ 8 | *.pbxuser 9 | !default.pbxuser 10 | *.mode1v3 11 | !default.mode1v3 12 | *.mode2v3 13 | !default.mode2v3 14 | *.perspectivev3 15 | !default.perspectivev3 16 | xcuserdata 17 | *.xccheckout 18 | *.moved-aside 19 | DerivedData 20 | *.hmap 21 | *.ipa 22 | *.xcuserstate 23 | 24 | # Android/IntelliJ 25 | # 26 | build/ 27 | .idea 28 | .gradle 29 | local.properties 30 | *.iml 31 | 32 | # node.js 33 | # 34 | node_modules/ 35 | npm-debug.log 36 | yarn-error.log 37 | 38 | # BUCK 39 | buck-out/ 40 | \.buckd/ 41 | *.keystore 42 | !debug.keystore 43 | 44 | # fastlane 45 | # 46 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 47 | # screenshots whenever they are needed. 48 | # For more information about the recommended setup visit: 49 | # https://docs.fastlane.tools/best-practices/source-control/ 50 | 51 | */fastlane/report.xml 52 | */fastlane/Preview.html 53 | */fastlane/screenshots 54 | 55 | # Bundle artifact 56 | *.jsbundle 57 | 58 | # CocoaPods 59 | /ios/Pods/ 60 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v1/Hello.sol: -------------------------------------------------------------------------------- 1 | pragma solidity ^0.5.4; 2 | 3 | contract HelloTON { 4 | uint32 timestamp; 5 | 6 | // Modifier that allows public function to accept all external calls. 7 | modifier alwaysAccept { 8 | tvm.accept(); 9 | _; 10 | } 11 | modifier onlyOwner { 12 | require(msg.pubkey() == tvm.pubkey(), 100); 13 | tvm.accept(); 14 | _; 15 | } 16 | 17 | constructor() public { 18 | timestamp = uint32(now); 19 | } 20 | //Function setting set value to state variable timestamp 21 | function touch() public alwaysAccept { 22 | timestamp = uint32(now); 23 | } 24 | //Function returns value of state variable timestamp 25 | function sayHello() public view returns (uint32) { 26 | return timestamp; 27 | } 28 | //Due to the modifier onlyOwner function sendAllMoney can be called only by the owner of the contract. 29 | //Function sendAllMoney send all contract's money to dest_addr. 30 | function sendAllMoney(address payable dest_addr) public onlyOwner { 31 | selfdestruct(dest_addr); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /packages/lib-web/example/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lib-web-example", 3 | "version": "0.1.0", 4 | "private": true, 5 | "dependencies": { 6 | "@testing-library/jest-dom": "^5.11.4", 7 | "@testing-library/react": "^11.1.0", 8 | "@testing-library/user-event": "^12.1.10", 9 | "@eversdk/core": "file:../../core", 10 | "@eversdk/lib-web": "file:../", 11 | "buffer": "^6.0.3", 12 | "copy-webpack-plugin": "^11.0.0", 13 | "react": "^17.0.2", 14 | "react-app-rewired": "^2.2.1", 15 | "react-dom": "^17.0.2", 16 | "web-vitals": "^1.0.1" 17 | }, 18 | "scripts": { 19 | "start": "react-app-rewired start", 20 | "build": "react-app-rewired build", 21 | "test": "react-app-rewired test" 22 | }, 23 | "eslintConfig": { 24 | "extends": [ 25 | "react-app", 26 | "react-app/jest" 27 | ] 28 | }, 29 | "browserslist": { 30 | "production": [ 31 | ">0.2%", 32 | "not dead", 33 | "not op_mini all" 34 | ], 35 | "development": [ 36 | "last 1 chrome version", 37 | "last 1 firefox version", 38 | "last 1 safari version" 39 | ] 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /packages/tests-node/run.js: -------------------------------------------------------------------------------- 1 | const { program } = require("commander"); 2 | const { TonClient } = require("@eversdk/core"); 3 | const { libNode } = require("@eversdk/lib-node"); 4 | const { 5 | TestsLogger, 6 | TestsRunner, 7 | zeroRunningState, 8 | } = require("@eversdk/tests"); 9 | 10 | TestsRunner.setTimeout = setTimeout; 11 | TestsRunner.log = console.log; 12 | TestsRunner.exit = process.exit; 13 | 14 | TonClient.useBinaryLibrary(libNode); 15 | 16 | async function run(testNames) { 17 | let state = zeroRunningState; 18 | const logger = new TestsLogger(); 19 | await TestsRunner.run( 20 | (x) => state = { ...x }, 21 | { 22 | log: (...args) => { 23 | logger.logOutput(args.join(" ") + "\n"); 24 | }, 25 | filter: testNames.length > 0 ? (testEntry) => 26 | testNames.some(testName => testEntry.name.indexOf(testName) >= 0) 27 | : undefined 28 | }, 29 | ); 30 | console.log(state); 31 | }; 32 | 33 | (async () => { 34 | program.argument('[testNames...]').action(run); 35 | await program.parseAsync(process.argv); 36 | })(); 37 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@eversdk/tests-react-native-jsi", 3 | "version": "1.49.2", 4 | "private": true, 5 | "main": "index.js", 6 | "browser": true, 7 | "scripts": { 8 | "android": "react-native run-android", 9 | "ios": "react-native run-ios", 10 | "start": "react-native start", 11 | "test": "jest", 12 | "lint": "eslint .", 13 | "npm install": "npm install", 14 | "prepare tests": "node prepare-suite.js" 15 | }, 16 | "dependencies": { 17 | "@eversdk/core": "file:../core", 18 | "@eversdk/lib-react-native-jsi": "file:../lib-react-native-jsi", 19 | "@eversdk/tests": "file:../tests", 20 | "assert": "^2.0.0", 21 | "buffer": "^6.0.2", 22 | "react": "16.13.1", 23 | "react-native": "0.67.2" 24 | }, 25 | "devDependencies": { 26 | "@babel/core": "^7.12.3", 27 | "@babel/runtime": "^7.12.5", 28 | "@react-native-community/eslint-config": "^2.0.0", 29 | "@types/react": "^16", 30 | "@types/react-native": "^0", 31 | "eslint": "^7.13.0", 32 | "find-process": "^1.4.4", 33 | "metro-react-native-babel-preset": "^0.64.0" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /packages/cli/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Contributors et.al. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/lib-web/README.md: -------------------------------------------------------------------------------- 1 | # Building ever-sdk-js WASM inside docker 2 | To build WASM you need `clang v8`. Use this workaround if you encounter a problem when building wasm binaries on your platform (MacOSX or Windows). 3 | 4 | ## Pulling build image 5 | ``` 6 | docker pull everx-labs/build-tonclient-wasm 7 | ``` 8 | Change your current location to `ever-sdk-js` project. It is important because the next command will use this location to mount the volume with source code inside the docker container with build environment. 9 | ``` 10 | cd ever-sdk-js 11 | ``` 12 | Run build container in background. First attempt will take a long time. 13 | ``` 14 | docker run -v $(pwd):/everx-labs/TON-SDK --name build-tonclient-wasm -dt build-tonclient-wasm tail -f /dev/null 15 | ``` 16 | ## Build WASM 17 | ``` 18 | docker exec -ti build-tonclient-wasm "build-tonclient-wasm.sh" 19 | ``` 20 | ## Location of binaries 21 | After successful build process, binaries will be located here 22 | ``` 23 | ever-sdk-js/packages/lib-web/index.js 24 | ever-sdk-js/packages/lib-web/eversdk.wasm 25 | Compressed 26 | ever-sdk-js/packages/lib-web/publish/eversdk_1_31_wasm.gz 27 | ever-sdk-js/packages/lib-web/publish/eversdk_1_31_wasm_js.gz 28 | ``` 29 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v2/Hello.sol: -------------------------------------------------------------------------------- 1 | pragma solidity >=0.5.0; 2 | pragma AbiHeader time; 3 | pragma AbiHeader expire; 4 | 5 | contract HelloTON { 6 | uint32 timestamp; 7 | 8 | // Modifier that allows public function to accept all external calls. 9 | modifier alwaysAccept { 10 | tvm.accept(); 11 | _; 12 | } 13 | modifier onlyOwner { 14 | require(msg.pubkey() == tvm.pubkey(), 100); 15 | tvm.accept(); 16 | _; 17 | } 18 | 19 | constructor() public { 20 | tvm.accept(); 21 | timestamp = uint32(now); 22 | } 23 | //Function setting set value to state variable timestamp 24 | function touch() public alwaysAccept { 25 | timestamp = uint32(now); 26 | } 27 | //Function returns value of state variable timestamp 28 | function sayHello() public view returns (uint32) { 29 | return timestamp; 30 | } 31 | //Due to the modifier onlyOwner function sendAllMoney can be called only by the owner of the contract. 32 | //Function sendAllMoney send all contract's money to dest_addr. 33 | function sendAllMoney(address dest_addr) public onlyOwner { 34 | selfdestruct(dest_addr); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 13 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /packages/tests/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@eversdk/tests", 3 | "version": "1.49.2", 4 | "private": true, 5 | "description": "TON Client Tests", 6 | "main": "dist/index.js", 7 | "files": [ 8 | "dist/", 9 | "contracts/" 10 | ], 11 | "repository": { 12 | "type": "git", 13 | "url": "https://github.com/everx-labs/ever-sdk-js.git" 14 | }, 15 | "scripts": { 16 | "build": "tsc" 17 | }, 18 | "keywords": [ 19 | "TON", 20 | "Client", 21 | "FreeTON", 22 | "TONOS", 23 | "SDK" 24 | ], 25 | "author": "TON Labs LTD.", 26 | "license": "Apache-2.0", 27 | "licenses": [ 28 | { 29 | "type": "Apache-2.0", 30 | "url": "http://www.apache.org/licenses/LICENSE-2.0" 31 | } 32 | ], 33 | "homepage": "https://docs.ton.dev/", 34 | "engines": { 35 | "node": ">=6" 36 | }, 37 | "dependencies": { 38 | "@babel/core": "^7.15.0", 39 | "@babel/runtime": "^7.15.0", 40 | "@eversdk/core": "file:../core", 41 | "big-integer": "^1.6.48", 42 | "expect": "26.6.2", 43 | "jest-circus": "22.1.4", 44 | "jest-mock": "^24.8.0" 45 | }, 46 | "devDependencies": { 47 | "@types/node": "14.17.27", 48 | "typescript": "4.6.2" 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /packages/tests-web/entry.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-2020 TON Labs LTD. 3 | * 4 | * Licensed under the SOFTWARE EVALUATION License (the "License"); you may not use 5 | * this file except in compliance with the License. 6 | * 7 | * Unless required by applicable law or agreed to in writing, software 8 | * distributed under the License is distributed on an "AS IS" BASIS, 9 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | * See the License for the specific TON DEV software governing permissions and 11 | * limitations under the License. 12 | * 13 | */ 14 | import buffer from 'buffer'; 15 | 16 | if (!global.Buffer) { 17 | global.Buffer = buffer.Buffer; 18 | } 19 | 20 | if (!global.process) { 21 | global.process = {}; 22 | } 23 | 24 | if (global.process.env === undefined) { 25 | global.process.env = {}; 26 | } 27 | 28 | if (global.process.version === undefined) { 29 | global.process.version = ''; 30 | } 31 | 32 | if (global.process.stdout === undefined) { 33 | global.process.stdout = { 34 | isTTY: false, 35 | }; 36 | } 37 | if (global.process.cwd === undefined) { 38 | global.process.cwd = () => {}; 39 | } 40 | 41 | 42 | export default function() { 43 | } 44 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/android/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | ext { 5 | buildToolsVersion = "30.0.2" 6 | minSdkVersion = 21 7 | compileSdkVersion = 30 8 | targetSdkVersion = 30 9 | ndkVersion = "21.3.6528147" 10 | } 11 | repositories { 12 | google() 13 | mavenCentral() 14 | } 15 | dependencies { 16 | classpath("com.android.tools.build:gradle:4.2.1") 17 | // NOTE: Do not place your application dependencies here; they belong 18 | // in the individual module build.gradle files 19 | } 20 | } 21 | 22 | allprojects { 23 | repositories { 24 | mavenCentral() 25 | mavenLocal() 26 | maven { 27 | // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm 28 | url("$rootDir/../node_modules/react-native/android") 29 | } 30 | maven { 31 | // Android JSC is installed from npm 32 | url("$rootDir/../node_modules/jsc-android/dist") 33 | } 34 | 35 | google() 36 | maven { url 'https://www.jitpack.io' } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example63/android/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | ext { 5 | buildToolsVersion = "29.0.2" 6 | minSdkVersion = 21 7 | compileSdkVersion = 29 8 | targetSdkVersion = 29 9 | } 10 | repositories { 11 | google() 12 | mavenCentral() 13 | } 14 | dependencies { 15 | classpath("com.android.tools.build:gradle:4.1.3") 16 | // NOTE: Do not place your application dependencies here; they belong 17 | // in the individual module build.gradle files 18 | } 19 | } 20 | 21 | allprojects { 22 | repositories { 23 | mavenLocal() 24 | maven { 25 | // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm 26 | url("$rootDir/../node_modules/react-native/android") 27 | } 28 | maven { 29 | // Android JSC is installed from npm 30 | url("$rootDir/../node_modules/jsc-android/dist") 31 | } 32 | 33 | google() 34 | maven { url 'https://maven.google.com' } 35 | maven { url 'https://www.jitpack.io' } 36 | mavenCentral() 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /packages/tests-web/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@eversdk/tests-web", 3 | "version": "1.49.2", 4 | "private": true, 5 | "description": "TON Client WASM module tests runner", 6 | "scripts": { 7 | "npm install": "npm install", 8 | "web": "webpack-dev-server -d --config webpack.config.js --progress --colors --host 0.0.0.0", 9 | "web:bundle": "webpack -p --config webpack.config.js --progress --colors --display-error-details" 10 | }, 11 | "keywords": [ 12 | "TON", 13 | "Client", 14 | "FreeTON", 15 | "TONOS", 16 | "SDK" 17 | ], 18 | "author": "TON Labs LTD.", 19 | "license": "SEE LICENSE IN LICENSE", 20 | "repository": { 21 | "type": "git", 22 | "url": "https://github.com/everx-labs/ever-sdk-js.git" 23 | }, 24 | "homepage": "https://docs.ton.dev/", 25 | "dependencies": { 26 | "@eversdk/core": "file:../core", 27 | "@eversdk/lib-web": "file:../lib-web", 28 | "@eversdk/tests": "file:../tests", 29 | "assert": "^2.0.0", 30 | "buffer": "^6.0.2", 31 | "opentracing": "^0.14.4" 32 | }, 33 | "devDependencies": { 34 | "copy-webpack-plugin": "^6.2.1", 35 | "find-process": "^1.4.4", 36 | "puppeteer": "^5.3.1", 37 | "webpack": "5.1.3", 38 | "webpack-cli": "3.3.12", 39 | "webpack-dev-server": "3.11.0" 40 | }, 41 | "main": "index.js" 42 | } 43 | -------------------------------------------------------------------------------- /packages/tests/contracts/abi_v1/CheckInitParams.abi.json: -------------------------------------------------------------------------------- 1 | { 2 | "ABI version": 1, 3 | "functions": [ 4 | { 5 | "name": "constructor", 6 | "inputs": [ 7 | ], 8 | "outputs": [ 9 | ] 10 | }, 11 | { 12 | "name": "getAddressVariable", 13 | "inputs": [ 14 | ], 15 | "outputs": [ 16 | {"name":"value0","type":"address"} 17 | ] 18 | }, 19 | { 20 | "name": "getUintVariable", 21 | "inputs": [ 22 | ], 23 | "outputs": [ 24 | {"name":"value0","type":"uint256"} 25 | ] 26 | }, 27 | { 28 | "name": "getBooleanVariable", 29 | "inputs": [ 30 | ], 31 | "outputs": [ 32 | {"name":"value0","type":"bool"} 33 | ] 34 | }, 35 | { 36 | "name": "getBytesVariable", 37 | "inputs": [ 38 | ], 39 | "outputs": [ 40 | {"name":"value0","type":"bytes"} 41 | ] 42 | }, 43 | { 44 | "name": "sendAllMoney", 45 | "inputs": [ 46 | {"name":"dest_addr","type":"address"} 47 | ], 48 | "outputs": [ 49 | ] 50 | } 51 | ], 52 | "data": [ 53 | {"key":1,"name":"addressVariable","type":"address"}, 54 | {"key":2,"name":"uintVariable","type":"uint256"}, 55 | {"key":3,"name":"booleanVariable","type":"bool"}, 56 | {"key":4,"name":"bytesVariable","type":"bytes"} 57 | ], 58 | "events": [ 59 | ] 60 | } 61 | -------------------------------------------------------------------------------- /packages/lib-node/lib/tonclient.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | typedef struct { 6 | char* content; 7 | uint32_t len; 8 | } tc_string_data_t; 9 | 10 | typedef struct { 11 | } tc_string_handle_t; 12 | 13 | enum tc_response_types_t { 14 | tc_end = 0, 15 | tc_response_success = 1, 16 | tc_response_error = 2, 17 | tc_response_custom = 100, 18 | }; 19 | 20 | typedef void (*tc_response_handler_t)( 21 | uint32_t request_id, 22 | tc_string_data_t params_json, 23 | uint32_t response_type, 24 | bool finished); 25 | 26 | #ifdef __cplusplus 27 | extern "C" { 28 | #endif 29 | 30 | tc_string_handle_t* tc_create_context(tc_string_data_t config); 31 | void tc_destroy_context(uint32_t context); 32 | void tc_request( 33 | uint32_t context, 34 | tc_string_data_t function_name, 35 | tc_string_data_t function_params_json, 36 | uint32_t request_id, 37 | tc_response_handler_t response_handler); 38 | 39 | tc_string_handle_t* tc_request_sync( 40 | uint32_t context, 41 | tc_string_data_t function_name, 42 | tc_string_data_t function_params_json); 43 | 44 | tc_string_data_t tc_read_string(const tc_string_handle_t* handle); 45 | void tc_destroy_string(const tc_string_handle_t* handle); 46 | 47 | #ifdef __cplusplus 48 | } 49 | #endif 50 | -------------------------------------------------------------------------------- /packages/lib-react-native/index.js: -------------------------------------------------------------------------------- 1 | import { NativeModules, NativeEventEmitter } from 'react-native' 2 | 3 | export function libReactNative() { 4 | const lib = NativeModules.TonClientModule; 5 | const libEmitter = new NativeEventEmitter(lib); 6 | let subscription = null; 7 | return Promise.resolve({ 8 | getLibName() { 9 | return Promise.resolve("react-native"); 10 | }, 11 | setResponseHandler(handler) { 12 | if (subscription) { 13 | subscription.remove(); 14 | subscription = null; 15 | } 16 | if (handler) { 17 | subscription = libEmitter.addListener('Response', (data) => { 18 | handler(data.requestId, data.paramsJson, data.responseType, data.finished); 19 | }); 20 | } 21 | }, 22 | createContext(configJson) { 23 | return new Promise(resolve => lib.createContext(configJson, resolve)); 24 | }, 25 | destroyContext(context) { 26 | lib.destroyContext(context); 27 | }, 28 | sendRequest(context, requestId, functionName, functionParamsJson) { 29 | lib.sendRequest(context, requestId, functionName, functionParamsJson); 30 | }, 31 | }); 32 | } 33 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 13 | 19 | 20 | 21 | 22 | 23 | 24 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example64/android/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | ext { 5 | buildToolsVersion = "29.0.3" 6 | minSdkVersion = 21 7 | compileSdkVersion = 29 8 | targetSdkVersion = 29 9 | ndkVersion = "21.3.6528147" 10 | } 11 | repositories { 12 | google() 13 | mavenCentral() 14 | } 15 | dependencies { 16 | classpath("com.android.tools.build:gradle:4.1.3") 17 | // NOTE: Do not place your application dependencies here; they belong 18 | // in the individual module build.gradle files 19 | } 20 | } 21 | 22 | allprojects { 23 | repositories { 24 | mavenLocal() 25 | maven { 26 | // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm 27 | url("$rootDir/../node_modules/react-native/android") 28 | } 29 | maven { 30 | // Android JSC is installed from npm 31 | url("$rootDir/../node_modules/jsc-android/dist") 32 | } 33 | 34 | google() 35 | maven { url 'https://maven.google.com' } 36 | maven { url 'https://www.jitpack.io' } 37 | mavenCentral() 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /packages/lib-react-native-jsi/example65/android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 13 | 19 | 20 | 21 | 22 | 23 | 24 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /packages/tests-react-native-jsi/android/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | ext { 5 | buildToolsVersion = "29.0.2" 6 | minSdkVersion = 21 7 | compileSdkVersion = 29 8 | targetSdkVersion = 29 9 | } 10 | repositories { 11 | google() 12 | maven { url 'https://maven.google.com' } 13 | mavenCentral() 14 | } 15 | dependencies { 16 | classpath('com.android.tools.build:gradle:4.1.3') 17 | // NOTE: Do not place your application dependencies here; they belong 18 | // in the individual module build.gradle files 19 | } 20 | } 21 | 22 | allprojects { 23 | repositories { 24 | mavenLocal() 25 | maven { 26 | // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm 27 | url("$rootDir/../node_modules/react-native/android") 28 | } 29 | maven { 30 | // Android JSC is installed from npm 31 | url("$rootDir/../node_modules/jsc-android/dist") 32 | } 33 | 34 | google() 35 | maven { url 'https://www.jitpack.io' } 36 | maven { url 'https://maven.google.com' } 37 | mavenCentral() 38 | } 39 | } 40 | --------------------------------------------------------------------------------