Skip to content

Commit dbebdf8

Browse files
aelmanaakhadniZelig880thedriftofwordsSyedAsadKazmi
authored
ccip solana (#2659)
* Merge doc main (#237) * Fix shadow on navigation (#2100) * Fix shadow on navigation * Align inner page with new navigation width --------- Co-authored-by: Crystal Gomes <thedriftofwords@users.noreply.github.com> Co-authored-by: Karim H. <98668332+khadni@users.noreply.github.com> * Adjust VRF Sepolia lane and CLA deprecation notice (#2103) * CCIP 1.5 (#2104) * rel2 update * rel2 update * rel2 update * fix * OoO * fix * nit * nit * update page * update page * update page * update page * update * update * update * update * update * update * update * Fund amounts & nit changes --------- Co-authored-by: Karim <98668332+khadni@users.noreply.github.com> * Add gas spikes note (#2105) * Add gas spikes note * Remove printscreen * Add shorter inline explanation and adjust gas spike insert --------- Co-authored-by: Crystal Gomes <thedriftofwords@users.noreply.github.com> * update (#2110) * update (#2108) * new integration (#2111) * linea testnet * linea testnet * linea * linea * linea * linea * linea * scroll (#2114) * update * update * update * remove kroma testnet * put kroma * update * update * empty * add Scroll ccip to QL (#2115) * nit (#2116) * nit (#2117) * rmn status (#2118) * rmn status * rmn status * rmn status * update * update * add issuer por field (#2119) --------- Co-authored-by: Simone Cuomo <simone@thisdot.co> Co-authored-by: Crystal Gomes <thedriftofwords@users.noreply.github.com> Co-authored-by: Amine E. <aelmanaa@users.noreply.github.com> * Revert "Merge doc main (#237)" This reverts commit 8a9db7a. * update (#2129) (#244) * init * refactor: display fee tokens as individual detail items in chain details grid * feat(UI): customize CL tooltips and fix edge cases * feat: add solana chain support with VM aware components * add solana devnet rpc provider * nit * nit dummy data * feat(nav): dynamic nav links for CCIP directory pages * update chains & tokens * feat: add rmnPermeable support for chains * nit update svg icons * feat: implement dynamic RMN Verification for CCIP lanes * nit - sidebar update * feat: update RMN verification logic to prioritize lane-specific settings * init new sidebar & adapt api routes generation * feat: support nested API reference path structure for VM-specific docs * docs: add CCIP common architecture * docs: add evm onchain architecture * docs: add svm onchain architecture * docs: add evm cct concepts 1/2 * docs: add evm cct concepts 2/2 * fix: update CCIP docs link to use relative URL * docs: cct svm tokens * docs: cct svm token pools * guide init * guide init * guide init * guide init * guide TT * guide TT * guide TT * guide TT * guide TT * guide TT * guide TT * arbitrary messaging * arbitrary messaging * arbitrary messaging * arbitrary messaging * arbitrary messaging * arbitrary messaging * arbitrary messaging * arbitrary messaging * arbitrary messaging * receiver ref * receiver ref * receiver ref * receiver ref * receiver ref * receiver ref * receiver ref * receiver ref * docs: add svm cct architecture * docs: add svm cct registration-administration * docs: add svm cct upgradability * docs: add index pages * docs: add external tools/resources content * docs: add offchain architecture * feat(versioning): Separate EVM and SVM API version selectors + SVM API Ref init * docs: update API Ref pages * docs: various updates * docs: add/update metadata.description * nit fix * nit fix * fix internal links 1/2 * nit fixes * update VersionSelector * fix internal links * API ref * API ref * svm source guide * fix internal links * svm source guide * fix router api ref * fix internal links * prerequisites * add cct svm/evm diagrams * svm: tt * svm: tt * svm: tt * svm: tt * svm: tt * feat: enhance tooltips with positioning and fix table layout issues * update * update * update diagrams * fix links * fix links * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * Changed imports in tutorials to ccip@1.6 and contracts@1.4 packages (#405) * Changed imports in tutorials to ccip@1.6 and contracts@1.4 packages * temp fix for Data contracts@1.4.0 * import ccip 1.6 callout * ccip 1.6 api ref * ccip 1.6 api ref * fix links * Updated CCT: BnM, LnM, and pool-rate-limits for Hardhat and Foundry * Updated API reference links to v1.6.0 in the CCIP tutorials * Updated CCT: BnM-Safe-Hardhat * update sidebar * Fixed broken links * Updated CCT: Remix * Updated API reference URLs to ccip-v1.6.0 * update * update --------- Co-authored-by: Karim <98668332+khadni@users.noreply.github.com> Co-authored-by: aelmanaa <aelmanaa@gmail.com> * update * update * update * update * update * update * update * update * update * update best practices * update service limits * update * update * update * chainlink-local updated to 0.2.5-beta (#407) * chainlink-local updated to 0.2.5-beta * update * Updated MockCCIPRouter import path according to ccip-1.6 --------- Co-authored-by: aelmanaa <aelmanaa@gmail.com> * update * update * update * update * update tokens * update tokens * update tokens * fix links --------- Co-authored-by: Karim H. <98668332+khadni@users.noreply.github.com> Co-authored-by: Simone Cuomo <simone@thisdot.co> Co-authored-by: Crystal Gomes <thedriftofwords@users.noreply.github.com> Co-authored-by: Syed Asad Kazmi <36279345+SyedAsadKazmi@users.noreply.github.com>
1 parent b421df5 commit dbebdf8

File tree

322 files changed

+19863
-9199
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

322 files changed

+19863
-9199
lines changed

jest.config.cjs

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,34 @@
11
module.exports = {
2-
preset: "ts-jest",
2+
preset: "ts-jest/presets/js-with-ts-esm",
33
testEnvironment: "node",
44
transform: {
5-
"^.+\\.ts?$": "ts-jest",
5+
"^.+\\.(ts|tsx)$": [
6+
"ts-jest",
7+
{
8+
useESM: true,
9+
tsconfig: "tsconfig.json",
10+
},
11+
],
612
},
13+
extensionsToTreatAsEsm: [".ts", ".tsx"],
14+
moduleFileExtensions: ["js", "jsx", "ts", "tsx", "json", "node"],
715
moduleNameMapper: {
816
"\\.(css)$": "<rootDir>/src/__mocks__/styleMock.ts",
917
"^~/(.*)$": "<rootDir>/src/$1",
10-
"^@components$": "<rootDir>/src/components/index.ts",
18+
"^@components": "<rootDir>/src/components/index.ts",
1119
"^@components/(.*)$": "<rootDir>/src/components/$1",
12-
"^@config$": "<rootDir>/src/config",
20+
"^@config$": "<rootDir>/src/config/index.ts",
1321
"^@config/(.*)$": "<rootDir>/src/config/$1",
1422
"^@features/(.*)$": "<rootDir>/src/features/$1",
15-
"^@graphql$": "<rootDir>/src/graphql",
23+
"^@graphql$": "<rootDir>/src/graphql/index.ts",
1624
"^@graphql/(.*)$": "<rootDir>/src/graphql/$1",
1725
"^@stores/(.*)$": "<rootDir>/src/stores/$1",
18-
"^@utils$": "<rootDir>/src/utils",
26+
"^@utils$": "<rootDir>/src/utils/index.ts",
1927
"^@utils/(.*)$": "<rootDir>/src/utils/$1",
2028
"^@variables$": "<rootDir>/src/config/markdown-variables.ts",
2129
"^@abi$": "<rootDir>/src/features/abi/index.ts",
22-
"^src/(.*)$": "<rootDir>/src/$1",
2330
"\\.ya?ml$": "<rootDir>/src/__mocks__/yamlMock.ts",
2431
},
25-
transformIgnorePatterns: ["<rootDir>/node_modules/"],
26-
moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"],
32+
transformIgnorePatterns: ["/node_modules/(?!.*\\.mjs$)"],
33+
testPathIgnorePatterns: ["/node_modules/", "src/tests/chain-api.test.ts"],
2734
}

package-lock.json

Lines changed: 2027 additions & 3694 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
"lint-ts:fix": "eslint --ext ts .",
3232
"lint-solc": "solhint --max-warnings 266 'public/samples/**/*.sol'",
3333
"prepare": "husky",
34-
"test": "jest",
34+
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
3535
"typecheck": "tsc --noEmit",
3636
"generate-graphql": "graphql-codegen --config ./codegen.ts"
3737
},
@@ -47,10 +47,10 @@
4747
"@astrojs/sitemap": "^3.4.0",
4848
"@astrojs/vercel": "^8.1.4",
4949
"@chainlink/components": "^0.4.18",
50-
"@chainlink/contracts": "1.3.0",
51-
"@chainlink/contracts-ccip": "1.5.1-beta.0",
50+
"@chainlink/contracts": "1.4.0",
51+
"@chainlink/contracts-ccip": "1.6.0-beta.3",
5252
"@chainlink/design-system": "^0.2.8",
53-
"@chainlink/local": "0.2.2",
53+
"@chainlink/local": "^0.2.5-beta",
5454
"@chainlink/solana-sdk": "^0.2.2",
5555
"@metamask/detect-provider": "^2.0.0",
5656
"@metamask/providers": "^20.0.0",

public/api/ccip/v1/openapi.json

Lines changed: 63 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"info": {
44
"title": "CCIP Chains API",
55
"description": "API for retrieving CCIP chain information.\n\nTo get started quickly, you can download our [Postman Collection](/api/ccip/v1/postman-collection.json) which includes all endpoints and example requests.",
6-
"version": "1.2.0",
6+
"version": "1.3.0",
77
"contact": {
88
"name": "File issues",
99
"url": "https://github.com/smartcontractkit/documentation/issues/new/choose"
@@ -38,7 +38,7 @@
3838
"get": {
3939
"tags": ["chains"],
4040
"summary": "Retrieve CCIP chain information",
41-
"description": "Returns information about Cross-Chain Interoperability Protocol (CCIP) chains",
41+
"description": "Returns information about Cross-Chain Interoperability Protocol (CCIP) chains across different blockchain families (EVM, Solana, Aptos)",
4242
"operationId": "getChains",
4343
"parameters": [
4444
{
@@ -57,7 +57,7 @@
5757
"schema": {
5858
"type": "string"
5959
},
60-
"description": "Filter by chain ID (e.g., \"1\" for Ethereum, or \"1,56\" for Ethereum and BSC)",
60+
"description": "Filter by chain ID (e.g., \"1\" for Ethereum, \"56\" for BSC, or a Solana pubkey)",
6161
"example": "1,56"
6262
},
6363
{
@@ -103,7 +103,7 @@
103103
"timestamp": "2024-03-14T12:00:00Z",
104104
"requestId": "123e4567-e89b-12d3-a456-426614174000",
105105
"ignoredChainCount": 0,
106-
"validChainCount": 1
106+
"validChainCount": 2
107107
},
108108
"data": {
109109
"evm": {
@@ -117,7 +117,23 @@
117117
"rmn": "0x411dE17f12D1A34ecC7F45f49844626267c75e81",
118118
"registryModule": "0x13022e3e6C77524308BD56AEd716E88311b2E533",
119119
"tokenAdminRegistry": "0xb22764f98dD05c789929716D677382Df22C05Cb6",
120-
"tokenPoolFactory": "0x17D8a409fE2ceF2d3808bcB61F14aBEFfc28876e"
120+
"tokenPoolFactory": "0x17D8a409fE2ceF2d3808bcB61F14aBEFfc28876e",
121+
"chainType": "evm",
122+
"chainFamily": "evm"
123+
}
124+
},
125+
"svm": {
126+
"solana-devnet": {
127+
"chainId": "solana-devnet",
128+
"displayName": "Solana Devnet",
129+
"selector": "16015286601757825753",
130+
"internalId": "solana-devnet",
131+
"feeTokens": ["LINK", "SOL"],
132+
"router": "CCiPv7hcmEqNdMdJgmHDJmEJyCkBgLqxmcf87R1Gho6H",
133+
"rmn": "CRmNVnB7S6SqEPFG6m9dVp9fJJCjr3TC2TiAWB3RqNod",
134+
"feeQuoter": "FqbCVbS7a4ndxs9xZ8UmfL6LQsUhAJNkWxW3duJRrCWD",
135+
"chainType": "solana",
136+
"chainFamily": "svm"
121137
}
122138
}
123139
},
@@ -320,13 +336,13 @@
320336
"feeTokens",
321337
"router",
322338
"rmn",
323-
"registryModule",
324-
"tokenAdminRegistry"
339+
"chainType",
340+
"chainFamily"
325341
],
326342
"properties": {
327343
"chainId": {
328-
"type": "integer",
329-
"description": "Numeric identifier of the chain"
344+
"oneOf": [{ "type": "integer" }, { "type": "string" }],
345+
"description": "Identifier of the chain (numeric for EVM chains, string for Solana/Aptos chains)"
330346
},
331347
"displayName": {
332348
"type": "string",
@@ -349,28 +365,37 @@
349365
},
350366
"router": {
351367
"type": "string",
352-
"pattern": "^0x[a-fA-F0-9]{40}$",
353368
"description": "CCIP Router contract address"
354369
},
355370
"rmn": {
356371
"type": "string",
357-
"pattern": "^0x[a-fA-F0-9]{40}$",
358372
"description": "Risk Management Network contract address"
359373
},
374+
"chainType": {
375+
"type": "string",
376+
"enum": ["evm", "solana", "aptos"],
377+
"description": "Type of blockchain"
378+
},
379+
"chainFamily": {
380+
"type": "string",
381+
"enum": ["evm", "svm", "mvm"],
382+
"description": "Blockchain family (EVM, Solana VM, Move VM)"
383+
},
360384
"registryModule": {
361385
"type": "string",
362-
"pattern": "^0x[a-fA-F0-9]{40}$",
363-
"description": "Registry Module contract address"
386+
"description": "Registry Module contract address (EVM chains only)"
364387
},
365388
"tokenAdminRegistry": {
366389
"type": "string",
367-
"pattern": "^0x[a-fA-F0-9]{40}$",
368-
"description": "Token Admin Registry contract address"
390+
"description": "Token Admin Registry contract address (EVM chains only)"
369391
},
370392
"tokenPoolFactory": {
371393
"type": "string",
372-
"pattern": "^0x[a-fA-F0-9]{40}$",
373-
"description": "Token Pool Factory contract address"
394+
"description": "Token Pool Factory contract address (EVM chains only)"
395+
},
396+
"feeQuoter": {
397+
"type": "string",
398+
"description": "Fee Quoter address (Solana chains only)"
374399
}
375400
}
376401
},
@@ -408,16 +433,30 @@
408433
},
409434
"data": {
410435
"type": "object",
411-
"required": ["evm"],
412436
"properties": {
413437
"evm": {
414438
"type": "object",
415439
"additionalProperties": {
416440
"$ref": "#/components/schemas/ChainDetails"
417441
},
418-
"description": "Map of chain details keyed by the specified output key"
442+
"description": "EVM chain details keyed by the specified output key"
443+
},
444+
"svm": {
445+
"type": "object",
446+
"additionalProperties": {
447+
"$ref": "#/components/schemas/ChainDetails"
448+
},
449+
"description": "Solana VM chain details keyed by the specified output key"
450+
},
451+
"mvm": {
452+
"type": "object",
453+
"additionalProperties": {
454+
"$ref": "#/components/schemas/ChainDetails"
455+
},
456+
"description": "Move VM (Aptos) chain details keyed by the specified output key"
419457
}
420-
}
458+
},
459+
"description": "Chain details grouped by chain family"
421460
},
422461
"ignored": {
423462
"type": "array",
@@ -478,16 +517,15 @@
478517
"required": ["chainId", "chainName", "tokenAddress", "decimals", "poolType", "poolAddress"],
479518
"properties": {
480519
"chainId": {
481-
"type": "integer",
482-
"description": "Numeric identifier of the chain"
520+
"oneOf": [{ "type": "integer" }, { "type": "string" }],
521+
"description": "Identifier of the chain (numeric for EVM chains, string for Solana/Aptos chains)"
483522
},
484523
"chainName": {
485524
"type": "string",
486525
"description": "Human-readable name of the chain"
487526
},
488527
"tokenAddress": {
489528
"type": "string",
490-
"pattern": "^0x[a-fA-F0-9]{40}$",
491529
"description": "Token contract address on this chain"
492530
},
493531
"decimals": {
@@ -503,7 +541,6 @@
503541
},
504542
"poolAddress": {
505543
"type": "string",
506-
"pattern": "^0x[a-fA-F0-9]{40}$",
507544
"description": "Token pool contract address (if applicable)"
508545
}
509546
}
@@ -513,16 +550,15 @@
513550
"required": ["chainId", "chainName", "tokenAddress", "decimals", "poolType", "poolAddress"],
514551
"properties": {
515552
"chainId": {
516-
"type": "integer",
517-
"description": "Numeric identifier of the chain"
553+
"oneOf": [{ "type": "integer" }, { "type": "string" }],
554+
"description": "Identifier of the chain (numeric for EVM chains, string for Solana/Aptos chains)"
518555
},
519556
"chainName": {
520557
"type": "string",
521558
"description": "Human-readable name of the chain"
522559
},
523560
"tokenAddress": {
524561
"type": "string",
525-
"pattern": "^0x[a-fA-F0-9]{40}$",
526562
"description": "Token contract address on this chain"
527563
},
528564
"decimals": {
@@ -538,7 +574,6 @@
538574
},
539575
"poolAddress": {
540576
"type": "string",
541-
"pattern": "^0x[a-fA-F0-9]{40}$",
542577
"description": "Token pool contract address (if applicable)"
543578
},
544579
"name": {

0 commit comments

Comments
 (0)