From 26ab9bb26a5a807398aeae326c0ea0f20b325912 Mon Sep 17 00:00:00 2001 From: Michael Vines Date: Fri, 7 Aug 2020 23:58:18 -0700 Subject: [PATCH] Reorganize crates based on program --- Cargo.toml | 8 ++++---- ci/client/Cargo.toml | 9 +++++---- ci/token-swap.sh | 4 ++-- ci/token.sh | 8 ++++---- memo/{ => program}/Cargo.toml | 0 memo/{ => program}/README.md | 0 memo/{ => program}/Xargo.toml | 0 memo/{ => program}/program-id.md | 0 memo/{ => program}/src/entrypoint.rs | 0 memo/{ => program}/src/lib.rs | 0 token-swap/{ => program}/Cargo.toml | 2 +- token-swap/{ => program}/README.md | 0 token-swap/{ => program}/Xargo.toml | 0 token-swap/{ => program}/build.rs | 0 token-swap/{ => program}/cbindgen.toml | 0 token-swap/{ => program}/inc/token-swap.h | 0 token-swap/{ => program}/js/.eslintrc.js | 0 token-swap/{ => program}/js/.flowconfig | 0 token-swap/{ => program}/js/.prettierrc.yaml | 0 token-swap/{ => program}/js/README.md | 0 token-swap/{ => program}/js/babel.config.json | 0 token-swap/{ => program}/js/cli/main.js | 0 token-swap/{ => program}/js/cli/token-swap-test.js | 0 token-swap/{ => program}/js/client/layout.js | 0 token-swap/{ => program}/js/client/token-swap.js | 0 .../js/client/util/new-account-with-lamports.js | 0 .../js/client/util/new-system-account-with-airdrop.js | 0 .../js/client/util/send-and-confirm-transaction.js | 0 token-swap/{ => program}/js/client/util/sleep.js | 0 token-swap/{ => program}/js/client/util/store.js | 0 token-swap/{ => program}/js/cluster-devnet.env | 0 token-swap/{ => program}/js/cluster-mainnet-beta.env | 0 token-swap/{ => program}/js/cluster-testnet.env | 0 token-swap/{ => program}/js/flow-typed/bn.js.js | 0 token-swap/{ => program}/js/flow-typed/bs58.js | 0 token-swap/{ => program}/js/flow-typed/buffer-layout.js | 0 .../{ => program}/js/flow-typed/json-to-pretty-yaml.js | 0 .../{ => program}/js/flow-typed/mkdirp-promise_vx.x.x.js | 0 token-swap/{ => program}/js/flow-typed/npm/mz_vx.x.x.js | 0 token-swap/{ => program}/js/flow-typed/semver.js | 0 token-swap/{ => program}/js/package-lock.json | 0 token-swap/{ => program}/js/package.json | 0 token-swap/{ => program}/js/url.js | 0 token-swap/{ => program}/package-lock.json | 0 token-swap/{ => program}/src/entrypoint.rs | 0 token-swap/{ => program}/src/error.rs | 0 token-swap/{ => program}/src/instruction.rs | 0 token-swap/{ => program}/src/lib.rs | 0 token-swap/{ => program}/src/processor.rs | 0 token-swap/{ => program}/src/state.rs | 0 {token-cli => token/cli}/Cargo.toml | 2 +- {token-cli => token/cli}/src/main.rs | 0 token/{ => program}/Cargo.toml | 0 token/{ => program}/README.md | 0 token/{ => program}/Xargo.toml | 0 token/{ => program}/build.rs | 0 token/{ => program}/inc/token.h | 0 token/{ => program}/js/.eslintignore | 0 token/{ => program}/js/.eslintrc.js | 0 token/{ => program}/js/.flowconfig | 0 token/{ => program}/js/.gitignore | 0 token/{ => program}/js/.prettierrc.yaml | 0 token/{ => program}/js/README.md | 0 token/{ => program}/js/babel.config.json | 0 token/{ => program}/js/babel.rollup.config.json | 0 token/{ => program}/js/cli/main.js | 0 token/{ => program}/js/cli/token-test.js | 0 token/{ => program}/js/client/layout.js | 0 token/{ => program}/js/client/token.js | 0 .../js/client/util/new-account-with-lamports.js | 0 .../js/client/util/new-system-account-with-airdrop.js | 0 .../js/client/util/send-and-confirm-transaction.js | 0 token/{ => program}/js/client/util/sleep.js | 0 token/{ => program}/js/client/util/store.js | 0 token/{ => program}/js/cluster-devnet.env | 0 token/{ => program}/js/cluster-mainnet-beta.env | 0 token/{ => program}/js/cluster-testnet.env | 0 token/{ => program}/js/flow-typed/bn.js.js | 0 token/{ => program}/js/flow-typed/bs58.js | 0 token/{ => program}/js/flow-typed/buffer-layout.js | 0 .../{ => program}/js/flow-typed/mkdirp-promise_vx.x.x.js | 0 token/{ => program}/js/flow-typed/npm/mz_vx.x.x.js | 0 token/{ => program}/js/flow-typed/semver.js | 0 token/{ => program}/js/module.d.ts | 0 token/{ => program}/js/module.flow.js | 0 token/{ => program}/js/package-lock.json | 0 token/{ => program}/js/package.json | 0 token/{ => program}/js/rollup.config.js | 0 token/{ => program}/js/url.js | 0 token/{ => program}/program-id.md | 0 token/{ => program}/src/entrypoint.rs | 0 token/{ => program}/src/error.rs | 0 token/{ => program}/src/instruction.rs | 0 token/{ => program}/src/lib.rs | 0 token/{ => program}/src/native_mint.rs | 0 token/{ => program}/src/option.rs | 0 token/{ => program}/src/processor.rs | 0 token/{ => program}/src/state.rs | 0 98 files changed, 17 insertions(+), 16 deletions(-) rename memo/{ => program}/Cargo.toml (100%) rename memo/{ => program}/README.md (100%) rename memo/{ => program}/Xargo.toml (100%) rename memo/{ => program}/program-id.md (100%) rename memo/{ => program}/src/entrypoint.rs (100%) rename memo/{ => program}/src/lib.rs (100%) rename token-swap/{ => program}/Cargo.toml (90%) rename token-swap/{ => program}/README.md (100%) rename token-swap/{ => program}/Xargo.toml (100%) rename token-swap/{ => program}/build.rs (100%) rename token-swap/{ => program}/cbindgen.toml (100%) rename token-swap/{ => program}/inc/token-swap.h (100%) rename token-swap/{ => program}/js/.eslintrc.js (100%) rename token-swap/{ => program}/js/.flowconfig (100%) rename token-swap/{ => program}/js/.prettierrc.yaml (100%) rename token-swap/{ => program}/js/README.md (100%) rename token-swap/{ => program}/js/babel.config.json (100%) rename token-swap/{ => program}/js/cli/main.js (100%) rename token-swap/{ => program}/js/cli/token-swap-test.js (100%) rename token-swap/{ => program}/js/client/layout.js (100%) rename token-swap/{ => program}/js/client/token-swap.js (100%) rename token-swap/{ => program}/js/client/util/new-account-with-lamports.js (100%) rename token-swap/{ => program}/js/client/util/new-system-account-with-airdrop.js (100%) rename token-swap/{ => program}/js/client/util/send-and-confirm-transaction.js (100%) rename token-swap/{ => program}/js/client/util/sleep.js (100%) rename token-swap/{ => program}/js/client/util/store.js (100%) rename token-swap/{ => program}/js/cluster-devnet.env (100%) rename token-swap/{ => program}/js/cluster-mainnet-beta.env (100%) rename token-swap/{ => program}/js/cluster-testnet.env (100%) rename token-swap/{ => program}/js/flow-typed/bn.js.js (100%) rename token-swap/{ => program}/js/flow-typed/bs58.js (100%) rename token-swap/{ => program}/js/flow-typed/buffer-layout.js (100%) rename token-swap/{ => program}/js/flow-typed/json-to-pretty-yaml.js (100%) rename token-swap/{ => program}/js/flow-typed/mkdirp-promise_vx.x.x.js (100%) rename token-swap/{ => program}/js/flow-typed/npm/mz_vx.x.x.js (100%) rename token-swap/{ => program}/js/flow-typed/semver.js (100%) rename token-swap/{ => program}/js/package-lock.json (100%) rename token-swap/{ => program}/js/package.json (100%) rename token-swap/{ => program}/js/url.js (100%) rename token-swap/{ => program}/package-lock.json (100%) rename token-swap/{ => program}/src/entrypoint.rs (100%) rename token-swap/{ => program}/src/error.rs (100%) rename token-swap/{ => program}/src/instruction.rs (100%) rename token-swap/{ => program}/src/lib.rs (100%) rename token-swap/{ => program}/src/processor.rs (100%) rename token-swap/{ => program}/src/state.rs (100%) rename {token-cli => token/cli}/Cargo.toml (88%) rename {token-cli => token/cli}/src/main.rs (100%) rename token/{ => program}/Cargo.toml (100%) rename token/{ => program}/README.md (100%) rename token/{ => program}/Xargo.toml (100%) rename token/{ => program}/build.rs (100%) rename token/{ => program}/inc/token.h (100%) rename token/{ => program}/js/.eslintignore (100%) rename token/{ => program}/js/.eslintrc.js (100%) rename token/{ => program}/js/.flowconfig (100%) rename token/{ => program}/js/.gitignore (100%) rename token/{ => program}/js/.prettierrc.yaml (100%) rename token/{ => program}/js/README.md (100%) rename token/{ => program}/js/babel.config.json (100%) rename token/{ => program}/js/babel.rollup.config.json (100%) rename token/{ => program}/js/cli/main.js (100%) rename token/{ => program}/js/cli/token-test.js (100%) rename token/{ => program}/js/client/layout.js (100%) rename token/{ => program}/js/client/token.js (100%) rename token/{ => program}/js/client/util/new-account-with-lamports.js (100%) rename token/{ => program}/js/client/util/new-system-account-with-airdrop.js (100%) rename token/{ => program}/js/client/util/send-and-confirm-transaction.js (100%) rename token/{ => program}/js/client/util/sleep.js (100%) rename token/{ => program}/js/client/util/store.js (100%) rename token/{ => program}/js/cluster-devnet.env (100%) rename token/{ => program}/js/cluster-mainnet-beta.env (100%) rename token/{ => program}/js/cluster-testnet.env (100%) rename token/{ => program}/js/flow-typed/bn.js.js (100%) rename token/{ => program}/js/flow-typed/bs58.js (100%) rename token/{ => program}/js/flow-typed/buffer-layout.js (100%) rename token/{ => program}/js/flow-typed/mkdirp-promise_vx.x.x.js (100%) rename token/{ => program}/js/flow-typed/npm/mz_vx.x.x.js (100%) rename token/{ => program}/js/flow-typed/semver.js (100%) rename token/{ => program}/js/module.d.ts (100%) rename token/{ => program}/js/module.flow.js (100%) rename token/{ => program}/js/package-lock.json (100%) rename token/{ => program}/js/package.json (100%) rename token/{ => program}/js/rollup.config.js (100%) rename token/{ => program}/js/url.js (100%) rename token/{ => program}/program-id.md (100%) rename token/{ => program}/src/entrypoint.rs (100%) rename token/{ => program}/src/error.rs (100%) rename token/{ => program}/src/instruction.rs (100%) rename token/{ => program}/src/lib.rs (100%) rename token/{ => program}/src/native_mint.rs (100%) rename token/{ => program}/src/option.rs (100%) rename token/{ => program}/src/processor.rs (100%) rename token/{ => program}/src/state.rs (100%) diff --git a/Cargo.toml b/Cargo.toml index a9f8f31e..77b3a33a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,10 +1,10 @@ [workspace] members = [ "ci/client", - "memo", - "token", - "token-cli", - "token-swap", + "memo/program", + "token-swap/program", + "token/cli", + "token/program", ] # Workflow for developing against local Solana crates diff --git a/ci/client/Cargo.toml b/ci/client/Cargo.toml index 62af35cb..b04b9c69 100644 --- a/ci/client/Cargo.toml +++ b/ci/client/Cargo.toml @@ -1,14 +1,15 @@ [package] name = "test-client" version = "0.1.0" -authors = ["Jack May "] +authors = ["Solana Maintainers "] +publish = false edition = "2018" # Used to ensure that SPL programs are buildable by external clients [dependencies] solana-sdk = "1.3.1" -spl-memo = { path = "../../memo" } -spl-token = { path = "../../token" } -spl-token-swap = { path = "../../token-swap" } +spl-memo = { path = "../../memo/program" } +spl-token = { path = "../../token/program" } +spl-token-swap = { path = "../../token-swap/program" } diff --git a/ci/token-swap.sh b/ci/token-swap.sh index 6a38bdfc..fb00e857 100755 --- a/ci/token-swap.sh +++ b/ci/token-swap.sh @@ -8,13 +8,13 @@ cd "$(dirname "$0")/.." ./do.sh clippy token-swap -- --deny=warnings SPL_CBINDGEN=1 ./do.sh build-lib token-swap -D warnings -git diff --exit-code token-swap/inc/token-swap.h +git diff --exit-code token-swap/program/inc/token-swap.h +cc token-swap/program/inc/token-swap.h -o target/token-swap.gch ./do.sh build token ./do.sh build token-swap ./do.sh doc token-swap ./do.sh test token-swap -cc token-swap/inc/token-swap.h -o target/token-swap.gch # Install dependency project ( diff --git a/ci/token.sh b/ci/token.sh index 61eff865..d1f2bc20 100755 --- a/ci/token.sh +++ b/ci/token.sh @@ -8,16 +8,16 @@ cd "$(dirname "$0")/.." ./do.sh clippy token -- --deny=warnings SPL_CBINDGEN=1 ./do.sh build-lib token -D warnings -git diff --exit-code token/inc/token.h +git diff --exit-code token/program/inc/token.h +cc token/program/inc/token.h -o target/token.gch ./do.sh build token ./do.sh doc token ./do.sh test token -cc token/inc/token.h -o target/token.gch # Test cli -./do.sh fmt token-cli --all -- --check -./do.sh clippy token-cli -- --deny=warnings +./do.sh fmt token/cli --all -- --check +./do.sh clippy token/cli -- --deny=warnings # Test js bindings cd "$(dirname "$0")/../token/js" diff --git a/memo/Cargo.toml b/memo/program/Cargo.toml similarity index 100% rename from memo/Cargo.toml rename to memo/program/Cargo.toml diff --git a/memo/README.md b/memo/program/README.md similarity index 100% rename from memo/README.md rename to memo/program/README.md diff --git a/memo/Xargo.toml b/memo/program/Xargo.toml similarity index 100% rename from memo/Xargo.toml rename to memo/program/Xargo.toml diff --git a/memo/program-id.md b/memo/program/program-id.md similarity index 100% rename from memo/program-id.md rename to memo/program/program-id.md diff --git a/memo/src/entrypoint.rs b/memo/program/src/entrypoint.rs similarity index 100% rename from memo/src/entrypoint.rs rename to memo/program/src/entrypoint.rs diff --git a/memo/src/lib.rs b/memo/program/src/lib.rs similarity index 100% rename from memo/src/lib.rs rename to memo/program/src/lib.rs diff --git a/token-swap/Cargo.toml b/token-swap/program/Cargo.toml similarity index 90% rename from token-swap/Cargo.toml rename to token-swap/program/Cargo.toml index f37bc180..26c8606f 100644 --- a/token-swap/Cargo.toml +++ b/token-swap/program/Cargo.toml @@ -22,7 +22,7 @@ num-derive = "0.3" num-traits = "0.2" remove_dir_all = "=0.5.0" solana-sdk = { version = "1.2.17", default-features = false, optional = true } -spl-token = { path = "../token", default-features = false, optional = true } +spl-token = { path = "../../token/program", default-features = false, optional = true } thiserror = "1.0" [dev-dependencies] diff --git a/token-swap/README.md b/token-swap/program/README.md similarity index 100% rename from token-swap/README.md rename to token-swap/program/README.md diff --git a/token-swap/Xargo.toml b/token-swap/program/Xargo.toml similarity index 100% rename from token-swap/Xargo.toml rename to token-swap/program/Xargo.toml diff --git a/token-swap/build.rs b/token-swap/program/build.rs similarity index 100% rename from token-swap/build.rs rename to token-swap/program/build.rs diff --git a/token-swap/cbindgen.toml b/token-swap/program/cbindgen.toml similarity index 100% rename from token-swap/cbindgen.toml rename to token-swap/program/cbindgen.toml diff --git a/token-swap/inc/token-swap.h b/token-swap/program/inc/token-swap.h similarity index 100% rename from token-swap/inc/token-swap.h rename to token-swap/program/inc/token-swap.h diff --git a/token-swap/js/.eslintrc.js b/token-swap/program/js/.eslintrc.js similarity index 100% rename from token-swap/js/.eslintrc.js rename to token-swap/program/js/.eslintrc.js diff --git a/token-swap/js/.flowconfig b/token-swap/program/js/.flowconfig similarity index 100% rename from token-swap/js/.flowconfig rename to token-swap/program/js/.flowconfig diff --git a/token-swap/js/.prettierrc.yaml b/token-swap/program/js/.prettierrc.yaml similarity index 100% rename from token-swap/js/.prettierrc.yaml rename to token-swap/program/js/.prettierrc.yaml diff --git a/token-swap/js/README.md b/token-swap/program/js/README.md similarity index 100% rename from token-swap/js/README.md rename to token-swap/program/js/README.md diff --git a/token-swap/js/babel.config.json b/token-swap/program/js/babel.config.json similarity index 100% rename from token-swap/js/babel.config.json rename to token-swap/program/js/babel.config.json diff --git a/token-swap/js/cli/main.js b/token-swap/program/js/cli/main.js similarity index 100% rename from token-swap/js/cli/main.js rename to token-swap/program/js/cli/main.js diff --git a/token-swap/js/cli/token-swap-test.js b/token-swap/program/js/cli/token-swap-test.js similarity index 100% rename from token-swap/js/cli/token-swap-test.js rename to token-swap/program/js/cli/token-swap-test.js diff --git a/token-swap/js/client/layout.js b/token-swap/program/js/client/layout.js similarity index 100% rename from token-swap/js/client/layout.js rename to token-swap/program/js/client/layout.js diff --git a/token-swap/js/client/token-swap.js b/token-swap/program/js/client/token-swap.js similarity index 100% rename from token-swap/js/client/token-swap.js rename to token-swap/program/js/client/token-swap.js diff --git a/token-swap/js/client/util/new-account-with-lamports.js b/token-swap/program/js/client/util/new-account-with-lamports.js similarity index 100% rename from token-swap/js/client/util/new-account-with-lamports.js rename to token-swap/program/js/client/util/new-account-with-lamports.js diff --git a/token-swap/js/client/util/new-system-account-with-airdrop.js b/token-swap/program/js/client/util/new-system-account-with-airdrop.js similarity index 100% rename from token-swap/js/client/util/new-system-account-with-airdrop.js rename to token-swap/program/js/client/util/new-system-account-with-airdrop.js diff --git a/token-swap/js/client/util/send-and-confirm-transaction.js b/token-swap/program/js/client/util/send-and-confirm-transaction.js similarity index 100% rename from token-swap/js/client/util/send-and-confirm-transaction.js rename to token-swap/program/js/client/util/send-and-confirm-transaction.js diff --git a/token-swap/js/client/util/sleep.js b/token-swap/program/js/client/util/sleep.js similarity index 100% rename from token-swap/js/client/util/sleep.js rename to token-swap/program/js/client/util/sleep.js diff --git a/token-swap/js/client/util/store.js b/token-swap/program/js/client/util/store.js similarity index 100% rename from token-swap/js/client/util/store.js rename to token-swap/program/js/client/util/store.js diff --git a/token-swap/js/cluster-devnet.env b/token-swap/program/js/cluster-devnet.env similarity index 100% rename from token-swap/js/cluster-devnet.env rename to token-swap/program/js/cluster-devnet.env diff --git a/token-swap/js/cluster-mainnet-beta.env b/token-swap/program/js/cluster-mainnet-beta.env similarity index 100% rename from token-swap/js/cluster-mainnet-beta.env rename to token-swap/program/js/cluster-mainnet-beta.env diff --git a/token-swap/js/cluster-testnet.env b/token-swap/program/js/cluster-testnet.env similarity index 100% rename from token-swap/js/cluster-testnet.env rename to token-swap/program/js/cluster-testnet.env diff --git a/token-swap/js/flow-typed/bn.js.js b/token-swap/program/js/flow-typed/bn.js.js similarity index 100% rename from token-swap/js/flow-typed/bn.js.js rename to token-swap/program/js/flow-typed/bn.js.js diff --git a/token-swap/js/flow-typed/bs58.js b/token-swap/program/js/flow-typed/bs58.js similarity index 100% rename from token-swap/js/flow-typed/bs58.js rename to token-swap/program/js/flow-typed/bs58.js diff --git a/token-swap/js/flow-typed/buffer-layout.js b/token-swap/program/js/flow-typed/buffer-layout.js similarity index 100% rename from token-swap/js/flow-typed/buffer-layout.js rename to token-swap/program/js/flow-typed/buffer-layout.js diff --git a/token-swap/js/flow-typed/json-to-pretty-yaml.js b/token-swap/program/js/flow-typed/json-to-pretty-yaml.js similarity index 100% rename from token-swap/js/flow-typed/json-to-pretty-yaml.js rename to token-swap/program/js/flow-typed/json-to-pretty-yaml.js diff --git a/token-swap/js/flow-typed/mkdirp-promise_vx.x.x.js b/token-swap/program/js/flow-typed/mkdirp-promise_vx.x.x.js similarity index 100% rename from token-swap/js/flow-typed/mkdirp-promise_vx.x.x.js rename to token-swap/program/js/flow-typed/mkdirp-promise_vx.x.x.js diff --git a/token-swap/js/flow-typed/npm/mz_vx.x.x.js b/token-swap/program/js/flow-typed/npm/mz_vx.x.x.js similarity index 100% rename from token-swap/js/flow-typed/npm/mz_vx.x.x.js rename to token-swap/program/js/flow-typed/npm/mz_vx.x.x.js diff --git a/token-swap/js/flow-typed/semver.js b/token-swap/program/js/flow-typed/semver.js similarity index 100% rename from token-swap/js/flow-typed/semver.js rename to token-swap/program/js/flow-typed/semver.js diff --git a/token-swap/js/package-lock.json b/token-swap/program/js/package-lock.json similarity index 100% rename from token-swap/js/package-lock.json rename to token-swap/program/js/package-lock.json diff --git a/token-swap/js/package.json b/token-swap/program/js/package.json similarity index 100% rename from token-swap/js/package.json rename to token-swap/program/js/package.json diff --git a/token-swap/js/url.js b/token-swap/program/js/url.js similarity index 100% rename from token-swap/js/url.js rename to token-swap/program/js/url.js diff --git a/token-swap/package-lock.json b/token-swap/program/package-lock.json similarity index 100% rename from token-swap/package-lock.json rename to token-swap/program/package-lock.json diff --git a/token-swap/src/entrypoint.rs b/token-swap/program/src/entrypoint.rs similarity index 100% rename from token-swap/src/entrypoint.rs rename to token-swap/program/src/entrypoint.rs diff --git a/token-swap/src/error.rs b/token-swap/program/src/error.rs similarity index 100% rename from token-swap/src/error.rs rename to token-swap/program/src/error.rs diff --git a/token-swap/src/instruction.rs b/token-swap/program/src/instruction.rs similarity index 100% rename from token-swap/src/instruction.rs rename to token-swap/program/src/instruction.rs diff --git a/token-swap/src/lib.rs b/token-swap/program/src/lib.rs similarity index 100% rename from token-swap/src/lib.rs rename to token-swap/program/src/lib.rs diff --git a/token-swap/src/processor.rs b/token-swap/program/src/processor.rs similarity index 100% rename from token-swap/src/processor.rs rename to token-swap/program/src/processor.rs diff --git a/token-swap/src/state.rs b/token-swap/program/src/state.rs similarity index 100% rename from token-swap/src/state.rs rename to token-swap/program/src/state.rs diff --git a/token-cli/Cargo.toml b/token/cli/Cargo.toml similarity index 88% rename from token-cli/Cargo.toml rename to token/cli/Cargo.toml index 2edd4d7c..753d058a 100644 --- a/token-cli/Cargo.toml +++ b/token/cli/Cargo.toml @@ -15,7 +15,7 @@ solana-cli-config = { version = "1.3.0" } solana-client = { version = "1.3.0" } solana-logger = { version = "1.3.0" } solana-sdk = { version = "1.3.0" } -spl-token = { package = "spl-token", version = "1.0", path="../token" } +spl-token = { package = "spl-token", version = "1.0", path="../program" } [[bin]] name = "spl-token" diff --git a/token-cli/src/main.rs b/token/cli/src/main.rs similarity index 100% rename from token-cli/src/main.rs rename to token/cli/src/main.rs diff --git a/token/Cargo.toml b/token/program/Cargo.toml similarity index 100% rename from token/Cargo.toml rename to token/program/Cargo.toml diff --git a/token/README.md b/token/program/README.md similarity index 100% rename from token/README.md rename to token/program/README.md diff --git a/token/Xargo.toml b/token/program/Xargo.toml similarity index 100% rename from token/Xargo.toml rename to token/program/Xargo.toml diff --git a/token/build.rs b/token/program/build.rs similarity index 100% rename from token/build.rs rename to token/program/build.rs diff --git a/token/inc/token.h b/token/program/inc/token.h similarity index 100% rename from token/inc/token.h rename to token/program/inc/token.h diff --git a/token/js/.eslintignore b/token/program/js/.eslintignore similarity index 100% rename from token/js/.eslintignore rename to token/program/js/.eslintignore diff --git a/token/js/.eslintrc.js b/token/program/js/.eslintrc.js similarity index 100% rename from token/js/.eslintrc.js rename to token/program/js/.eslintrc.js diff --git a/token/js/.flowconfig b/token/program/js/.flowconfig similarity index 100% rename from token/js/.flowconfig rename to token/program/js/.flowconfig diff --git a/token/js/.gitignore b/token/program/js/.gitignore similarity index 100% rename from token/js/.gitignore rename to token/program/js/.gitignore diff --git a/token/js/.prettierrc.yaml b/token/program/js/.prettierrc.yaml similarity index 100% rename from token/js/.prettierrc.yaml rename to token/program/js/.prettierrc.yaml diff --git a/token/js/README.md b/token/program/js/README.md similarity index 100% rename from token/js/README.md rename to token/program/js/README.md diff --git a/token/js/babel.config.json b/token/program/js/babel.config.json similarity index 100% rename from token/js/babel.config.json rename to token/program/js/babel.config.json diff --git a/token/js/babel.rollup.config.json b/token/program/js/babel.rollup.config.json similarity index 100% rename from token/js/babel.rollup.config.json rename to token/program/js/babel.rollup.config.json diff --git a/token/js/cli/main.js b/token/program/js/cli/main.js similarity index 100% rename from token/js/cli/main.js rename to token/program/js/cli/main.js diff --git a/token/js/cli/token-test.js b/token/program/js/cli/token-test.js similarity index 100% rename from token/js/cli/token-test.js rename to token/program/js/cli/token-test.js diff --git a/token/js/client/layout.js b/token/program/js/client/layout.js similarity index 100% rename from token/js/client/layout.js rename to token/program/js/client/layout.js diff --git a/token/js/client/token.js b/token/program/js/client/token.js similarity index 100% rename from token/js/client/token.js rename to token/program/js/client/token.js diff --git a/token/js/client/util/new-account-with-lamports.js b/token/program/js/client/util/new-account-with-lamports.js similarity index 100% rename from token/js/client/util/new-account-with-lamports.js rename to token/program/js/client/util/new-account-with-lamports.js diff --git a/token/js/client/util/new-system-account-with-airdrop.js b/token/program/js/client/util/new-system-account-with-airdrop.js similarity index 100% rename from token/js/client/util/new-system-account-with-airdrop.js rename to token/program/js/client/util/new-system-account-with-airdrop.js diff --git a/token/js/client/util/send-and-confirm-transaction.js b/token/program/js/client/util/send-and-confirm-transaction.js similarity index 100% rename from token/js/client/util/send-and-confirm-transaction.js rename to token/program/js/client/util/send-and-confirm-transaction.js diff --git a/token/js/client/util/sleep.js b/token/program/js/client/util/sleep.js similarity index 100% rename from token/js/client/util/sleep.js rename to token/program/js/client/util/sleep.js diff --git a/token/js/client/util/store.js b/token/program/js/client/util/store.js similarity index 100% rename from token/js/client/util/store.js rename to token/program/js/client/util/store.js diff --git a/token/js/cluster-devnet.env b/token/program/js/cluster-devnet.env similarity index 100% rename from token/js/cluster-devnet.env rename to token/program/js/cluster-devnet.env diff --git a/token/js/cluster-mainnet-beta.env b/token/program/js/cluster-mainnet-beta.env similarity index 100% rename from token/js/cluster-mainnet-beta.env rename to token/program/js/cluster-mainnet-beta.env diff --git a/token/js/cluster-testnet.env b/token/program/js/cluster-testnet.env similarity index 100% rename from token/js/cluster-testnet.env rename to token/program/js/cluster-testnet.env diff --git a/token/js/flow-typed/bn.js.js b/token/program/js/flow-typed/bn.js.js similarity index 100% rename from token/js/flow-typed/bn.js.js rename to token/program/js/flow-typed/bn.js.js diff --git a/token/js/flow-typed/bs58.js b/token/program/js/flow-typed/bs58.js similarity index 100% rename from token/js/flow-typed/bs58.js rename to token/program/js/flow-typed/bs58.js diff --git a/token/js/flow-typed/buffer-layout.js b/token/program/js/flow-typed/buffer-layout.js similarity index 100% rename from token/js/flow-typed/buffer-layout.js rename to token/program/js/flow-typed/buffer-layout.js diff --git a/token/js/flow-typed/mkdirp-promise_vx.x.x.js b/token/program/js/flow-typed/mkdirp-promise_vx.x.x.js similarity index 100% rename from token/js/flow-typed/mkdirp-promise_vx.x.x.js rename to token/program/js/flow-typed/mkdirp-promise_vx.x.x.js diff --git a/token/js/flow-typed/npm/mz_vx.x.x.js b/token/program/js/flow-typed/npm/mz_vx.x.x.js similarity index 100% rename from token/js/flow-typed/npm/mz_vx.x.x.js rename to token/program/js/flow-typed/npm/mz_vx.x.x.js diff --git a/token/js/flow-typed/semver.js b/token/program/js/flow-typed/semver.js similarity index 100% rename from token/js/flow-typed/semver.js rename to token/program/js/flow-typed/semver.js diff --git a/token/js/module.d.ts b/token/program/js/module.d.ts similarity index 100% rename from token/js/module.d.ts rename to token/program/js/module.d.ts diff --git a/token/js/module.flow.js b/token/program/js/module.flow.js similarity index 100% rename from token/js/module.flow.js rename to token/program/js/module.flow.js diff --git a/token/js/package-lock.json b/token/program/js/package-lock.json similarity index 100% rename from token/js/package-lock.json rename to token/program/js/package-lock.json diff --git a/token/js/package.json b/token/program/js/package.json similarity index 100% rename from token/js/package.json rename to token/program/js/package.json diff --git a/token/js/rollup.config.js b/token/program/js/rollup.config.js similarity index 100% rename from token/js/rollup.config.js rename to token/program/js/rollup.config.js diff --git a/token/js/url.js b/token/program/js/url.js similarity index 100% rename from token/js/url.js rename to token/program/js/url.js diff --git a/token/program-id.md b/token/program/program-id.md similarity index 100% rename from token/program-id.md rename to token/program/program-id.md diff --git a/token/src/entrypoint.rs b/token/program/src/entrypoint.rs similarity index 100% rename from token/src/entrypoint.rs rename to token/program/src/entrypoint.rs diff --git a/token/src/error.rs b/token/program/src/error.rs similarity index 100% rename from token/src/error.rs rename to token/program/src/error.rs diff --git a/token/src/instruction.rs b/token/program/src/instruction.rs similarity index 100% rename from token/src/instruction.rs rename to token/program/src/instruction.rs diff --git a/token/src/lib.rs b/token/program/src/lib.rs similarity index 100% rename from token/src/lib.rs rename to token/program/src/lib.rs diff --git a/token/src/native_mint.rs b/token/program/src/native_mint.rs similarity index 100% rename from token/src/native_mint.rs rename to token/program/src/native_mint.rs diff --git a/token/src/option.rs b/token/program/src/option.rs similarity index 100% rename from token/src/option.rs rename to token/program/src/option.rs diff --git a/token/src/processor.rs b/token/program/src/processor.rs similarity index 100% rename from token/src/processor.rs rename to token/program/src/processor.rs diff --git a/token/src/state.rs b/token/program/src/state.rs similarity index 100% rename from token/src/state.rs rename to token/program/src/state.rs