SNS Update: August 18, 2023

,

The NNS Team will be submitting the following proposals to publish new versions of SNS canisters to SNS-WASM this Friday, 2023-08-18. DFINITY plans to vote on these proposals the following Monday.

Additional Notes

With these upcoming proposals, new versions of the ICRC Ledger suite (ICRC Index, ICRC Archive, ICRC Ledger) will be made accessible to new and existing SNSes. These new versions offer a multitude of new features and refinements, including many ICRC2 features. Concurrently with these proposals, the NNS team will be submitting a proposal to upgrade the SNS-WASM canister to enable support for the new init payload of the latest Ledger canister. You can find details on this proposal here

With the proposal to publish a new version of the ICRC Archive, the NNS team advocates that existing SNS communities consume all three upgrades as they become available. This simplifies the operation of SNSes as their ICRC Ledger suite will all be on the same version. For those SNSes currently engaged in their decentralization swap (e,g, the Swap’s lifecycle is not Pending (1) or Committed (3) ), we recommend postponing execution of these upgrades until the swap completely finalizes. Historically, we’ve observed the first Archive canister is spawned during the finalization stage and may cause synchronization issues.

Proposals to be Submitted

Index

## Proposal to Publish the SNS Index Canister WASM to SNS-W
### Proposer: DFINITY Foundation
### Canister Type: index
### Git Hash: f99495f3772d5a85d25ef5008179b49a5f12c5c2
### New Wasm Hash: 4d0c07122fe75354d9ff1f5c28a165414f4d5b02c7054a09a77dea4734d1d7c4
---
## Release Notes
```
$ git log --format="%C(auto) %h %s" 9bb8f35cccd013b38657c67964c39d48fac6353f..f99495f3772d5a85d25ef5008179b49a5f12c5c2 --  ./rs/rosetta-api/icrc1
 88e74e1ff9 feat(FI-863): [ICRC Rosetta] Add icrc 2 support for icrc rosetta database
 e06f95639f build: use the most recent version of indicatif
 c08b91afbe feat(icrc2): remove default expiration for approvals
 5ee9f14a37 feat(FI-882): [Index Canisters] reduce cycle consumption during fitlering
 e948a3b74d feat(FI-851): [ICRC1 Ledger] Impl ledger env for state machine
 d5e7376c60 chore(FI-872): handle approve operations in the icrc index
 ffa8cb85ed feat(cketh): experimental: add sepolia cketh ledger deployment details
 4ac20da6e4 feat(icrc1): add ledger supporting u256 tokens
 33ec479e03 chore(icrc-ledger-types): add experimental-api feature flag
 27194e765b chore(index-ng): test upgrade from the old index
 9ff9d7707d Merge branch 'maciej-icp-icrc2' into 'master'
 5b0ac829a3 feat(FI-853): Add approve and allowance endpoints to the ICP ledger
 cd6ce1b6ba feat(ICRC-1): add support for 256-bit tokens
 e38b50c07d Merge branch 'FI-850' into 'master'
 abc562a2f6 feat(FI-850): measure instructions for encoding/decoding
 9ea2080fa5 Merge branch 'maciej-approve-limit' into 'master'
 e215e5645c feat(FI-821): limit the number of approvals
 c1791a23a4 refactor(crypto): CRP-2135 rename crate `ic-crypto-sha` to `ic-crypto-sha2`
 448dc3d19c chore(icrc1): parameterize the ledger impl over token type
 42651ff8f1 chore(FI-822): additional tests for transfer and transfer_from deduplication
 3855fbb623 chore: bump rust to 1.71
 27e22c8121 chore(ICRC) Add icrc2 endpoints to client
 aee9818d2f chore: add feature_flags to the ledger.did file
 d4ac00f445 chore: remove duplicate test
 3c796abe02 Merge branch 'maciej-icrc2stand' into 'master'
 e297805d49 feat(FI-819): add ICRC-2 to the list of supported standards of the ICRC ledger
 1e1e3b4ea3 feat(FI-820): disallow approving transfers from minter
 83d252f1f7 feat(FI-816): add ICRC-2 endpoints to ledger.did for the ICRC ledger
 bbbe8ad94c feat(FI-808): transfer_from endpoint for the ICRC ledger
 5c87c64764 Merge branch 'roman-unify-candid' into 'master'
 3de7d413ea chore(build): unify versions of candid in Cargo files
 6fc342b90a chore(FI-815): adding optional spender to Transfer, removing TransferFrom operation
 e35163ab4a Merge branch 'roman-ciborium-0.2.1' into 'master'
 adfc5cf38e chore: update ciborium version
 b5912689ff feat: add cycles usage to index-ng metrics for build_index
 d9d7f811be feat(FI-801): use TryFrom for ledger_core TransferError
 1abeac2e62 Merge branch 'maciej-icrc2-flag' into 'master'
 45aff4f554 feat(FI-802): Add flag to enable ICRC-2 features in the ICRC ledger
 91cef7a53a Merge branch 'dimitris/bazel-integration-tests' into 'master'
 54bee5171a chore: Remove tests suffix from names of rust_test_suite rules
 8750622cc0 fix(ICRC1) Add max memo length to upgrade args
 90c8a01659 feat(ledger_core) add TokensType trait
 eba371d34c feat(FI-781): add ICRC-2 approval and allowance endpoints to the ICRC ledger
 9904e95242 feat(index-ng) add test for index-ng using the index interface
 25a3917361 feat(FI-772) Add encoded block hash backwards compatibility test
 ef8ae6941f feat(FI-773): Add transfer_from functionality to the ICRC ledger
 9d9f5ef11d feat(FI-748): Add approve functionality to the ICRC ledger
 5134530046 feat(FI-753) Transform generic block to block
 a6a9e80968 Merge branch 'chore_icrc_index_ng_fix_archive_test' into 'master'
 d6d9431460 chore [icrc index-ng] fix archive test
 49baa503fc feat(FI-758) [ICRC1 index-ng] changed update to query
 5bbcdab087 feat [icrc index-ng] optimize fee_collector index storage
 e3c70cf8e5 Merge branch 'FI-751-name-changes' into 'master'
 2742e03340 feat(751) [ICRC Index] changed naming of trigger function
 4e4315b311 feat(FI-750) Add hashof package
 c0b038160e Merge branch 'leo-index-ng-fix' into 'master'
 b4a9450859 fix(Index) Fix new index arguments
 ce0091f788 feat(FI-745) Populate transaction table
 eb0e866409 removed account history table
 8fc54992dd feat(FI-742): Disallow self approval in ledger_core/approvals implementation of icrc2
 cd77491697 feat(FI-732) [icrc index-ng] support fee collector
 da910cf4ea feat(ledger_core): remove SpenderId type from Approval type
 2ff6c12ca2 Merge branch 'FI-735' into 'master'
 91ede01870 feat(FI-735) [icrc index-ng] fix oldest_tx_id and add tests
 3466378e9d feat(ledger_core): update approvals to icrc2 standard, remove SignedTokens
 eb10cc4c92 feat(FI-736) [icrc index-ng] add metrics
 7ed406b093 fix [icrc index-ng] post_upgrade timer and reduce timers
 404fa18e28 feat(FI-734) [icrc index-ng] add status endpoint and change trigger_heatbeat in tests
 3c25f37ff9 feat(FI-733) [icrc index] add list_subaccounts
 18937632d4 test(ckbtc): e2e state machine test
 e858f2f802 fix(FI-731) [icrc index] fix test_get_account_transactions_pagination
 716e61a5b9 feat(FI-729) [icrc index] add balances
 9650f91c1f Remove `state_machine_tests` from the list of dependencies of rosetta-api/icrc1
 701658397f feat(FI-725) [icrc index-ng] add get_account_transactions endpoint
 0a6ff88604 fix(index) Set the timer after an upgrade
 af1c11abae chore [index] set max wait to 5 seconds
 0ff31937a4 chore [icrc1 ledger] improve upgrade test
 0b97397b99 chore(build): unify ic-agent versions across the project
 b417b27ec7 chore [icrc ledger] add test for max_memo_length missing bug
 1f46d9a91e fix [icrc ledger] default max_memo_length
 d7954f50f9 Merge branch 'maciej-onedid' into 'master'
 3a207ef299 chore(icrc1): create unified candid file for the icrc1 ledger
 ec524f7d2f feat(FI-722) [icrc index-ng] add ledger_id endpoint
 cc2685197d [FI-713] candid file and did check
 8ae52ec2b2 feat(FI-712) add the ICRC Index ng canister [override-didc-check]
 fbc770ded4 Merge branch 'FI-711-add-blocks-synchronizer-to-binary' into 'master'
 ac10f78fc9 feat(FI-711) [ICRC Rosetta] Add blocks synchronizer to binary
 bd3c42961b feat(FI-663): make memo size configurable
 cee6679676 feat(FI-714) moved the generic_block_to_encoded_block from icrc rosetta to the ic_icrc1 library
 d5937608cd feat(FI-708) [Icrc Rosetta ] Close Storage Gaps
 0bd86f1a3e feat(FI-709) [icrc index-ng] add index-ng project
 dfeb571521 Merge branch 'chore_icrc_rosetta_use_tracing' into 'master'
 415bfd1036 chore [icrc rosetta] use tracing and add request id
 a3f85fe8a4 feat(FI-693) [Icrc Rosetta] Add archive querying
 1f5d4cbb0f Merge branch 'FI-704-synchroniser-fetch-blocks-continuously' into 'master'
 de3a69bbb0 feat(FI-704) Synchronize block tip
 e86df1801d feat(FI-703) [icrc rosetta] add rosetta-client and one example
 1e1e28d3d9 Merge branch 'FI-705-storage-reference-sharing' into 'master'
 f3e285db8e feat(FI-705) [Storage Client] Shareable Storage Client Reference
 6157a477ca feat(FI-701) [icrc rosetta] add runner
 38d1ab87e2 feat(FI-702) [ICRC Rosetta] Add Network identifier and root key file path cmd args
 c6b568634a feat(FI-700) [Blocks Synchronizer] change 48 to 24 hour window
 2814d3e4a7 feat(FI-687): Fetching of blocks for blocks synchronizer
 b33a4031c8 chore(ckbtc,icrc1): unify "cycle_balance" metric name
 295ca9c9f2 chore: [icrc rosetta] rosetta 1.4.13 + link to api and doc
 9581c12c3d feat(FI-692) [icrc rosetta] add /network/options
 f04a57979a feat(FI-690) [icrc rosetta] add /network/list
 de5b215fbb feat(FI-691) [icrc rosetta] initialize storage
 a53f0002f3 feat(FI-688): add webserver and arguments to ICRC Rosetta
 56159c5352 Resolve FI-647
 2947a409df feat(FI-673): icrc-ledger-types::icrc::generic_value::Value to cborium::value::Value conversion
 94029556eb feat(FI-677) Move to timers
 3cfcf3a606 FI-633 Add tables to storage
 60896629c6 feat(FI-625): ICRC Rosetta main and database client
 e73b5a7fa7 feat: extending the root hash with last block index information.
 84321c64a0 Resolve FI-675 Remove icrc leger types icrc 3 blocks block
 cdb86c56ad FI-658 Restructure icrc ledger types repository
 6c765c04fa refactor(FI-632): prettify handling of compact accounts
 0b1ce5dfcd feat(FI-632): add optional fee collector to the icrc ledger
 cd19223d6b feat: add get_last_block_certificate to the icrc1 ledger
 949407ea4a feat: move icrc1 agent to a standalone icrc-ledger-agent library
 45183ca9dd feat: switch icrc1 ledger to the types from the icrc-ledger-types library.
 758bf99cf3 feat(FI-619): add a library for profiling canisters
 cc0031564b fix(FI-609): remove dependency on dfn_core from the icrc-1 ledger
 0e84036e8c feat: add get_blocks endpoint to the icrc1 ledger
```
## Wasm Verification
Verify that the hash of the gzipped WASM matches the proposed hash.
```
git fetch
git checkout f99495f3772d5a85d25ef5008179b49a5f12c5c2
./gitlab-ci/container/build-ic.sh -c
sha256sum ./artifacts/canisters/ic-icrc1-index.wasm.gz
```

Archive

## Proposal to Publish the SNS Archive Canister WASM to SNS-W
### Proposer: DFINITY Foundation
### Canister Type: archive
### Git Hash: f99495f3772d5a85d25ef5008179b49a5f12c5c2
### New Wasm Hash: 6513337917eec322bdfba5dd00ac44bec63e7064bba30e668dbaf14fb0488c49
---
## Release Notes
```
$ git log --format="%C(auto) %h %s" 822f933e7db6b3f843401245d0bf814632ed4084..f99495f3772d5a85d25ef5008179b49a5f12c5c2 --  ./rs/rosetta-api/icrc1
 88e74e1ff9 feat(FI-863): [ICRC Rosetta] Add icrc 2 support for icrc rosetta database
 e06f95639f build: use the most recent version of indicatif
 c08b91afbe feat(icrc2): remove default expiration for approvals
 5ee9f14a37 feat(FI-882): [Index Canisters] reduce cycle consumption during fitlering
 e948a3b74d feat(FI-851): [ICRC1 Ledger] Impl ledger env for state machine
 d5e7376c60 chore(FI-872): handle approve operations in the icrc index
 ffa8cb85ed feat(cketh): experimental: add sepolia cketh ledger deployment details
 4ac20da6e4 feat(icrc1): add ledger supporting u256 tokens
 33ec479e03 chore(icrc-ledger-types): add experimental-api feature flag
 27194e765b chore(index-ng): test upgrade from the old index
 9ff9d7707d Merge branch 'maciej-icp-icrc2' into 'master'
 5b0ac829a3 feat(FI-853): Add approve and allowance endpoints to the ICP ledger
 cd6ce1b6ba feat(ICRC-1): add support for 256-bit tokens
 e38b50c07d Merge branch 'FI-850' into 'master'
 abc562a2f6 feat(FI-850): measure instructions for encoding/decoding
 9ea2080fa5 Merge branch 'maciej-approve-limit' into 'master'
 e215e5645c feat(FI-821): limit the number of approvals
 c1791a23a4 refactor(crypto): CRP-2135 rename crate `ic-crypto-sha` to `ic-crypto-sha2`
 448dc3d19c chore(icrc1): parameterize the ledger impl over token type
 42651ff8f1 chore(FI-822): additional tests for transfer and transfer_from deduplication
 3855fbb623 chore: bump rust to 1.71
 27e22c8121 chore(ICRC) Add icrc2 endpoints to client
 aee9818d2f chore: add feature_flags to the ledger.did file
 d4ac00f445 chore: remove duplicate test
 3c796abe02 Merge branch 'maciej-icrc2stand' into 'master'
 e297805d49 feat(FI-819): add ICRC-2 to the list of supported standards of the ICRC ledger
 1e1e3b4ea3 feat(FI-820): disallow approving transfers from minter
 83d252f1f7 feat(FI-816): add ICRC-2 endpoints to ledger.did for the ICRC ledger
 bbbe8ad94c feat(FI-808): transfer_from endpoint for the ICRC ledger
 5c87c64764 Merge branch 'roman-unify-candid' into 'master'
 3de7d413ea chore(build): unify versions of candid in Cargo files
 6fc342b90a chore(FI-815): adding optional spender to Transfer, removing TransferFrom operation
 e35163ab4a Merge branch 'roman-ciborium-0.2.1' into 'master'
 adfc5cf38e chore: update ciborium version
 b5912689ff feat: add cycles usage to index-ng metrics for build_index
 d9d7f811be feat(FI-801): use TryFrom for ledger_core TransferError
 1abeac2e62 Merge branch 'maciej-icrc2-flag' into 'master'
 45aff4f554 feat(FI-802): Add flag to enable ICRC-2 features in the ICRC ledger
 91cef7a53a Merge branch 'dimitris/bazel-integration-tests' into 'master'
 54bee5171a chore: Remove tests suffix from names of rust_test_suite rules
 8750622cc0 fix(ICRC1) Add max memo length to upgrade args
 90c8a01659 feat(ledger_core) add TokensType trait
 eba371d34c feat(FI-781): add ICRC-2 approval and allowance endpoints to the ICRC ledger
 9904e95242 feat(index-ng) add test for index-ng using the index interface
 25a3917361 feat(FI-772) Add encoded block hash backwards compatibility test
 ef8ae6941f feat(FI-773): Add transfer_from functionality to the ICRC ledger
 9d9f5ef11d feat(FI-748): Add approve functionality to the ICRC ledger
 5134530046 feat(FI-753) Transform generic block to block
 a6a9e80968 Merge branch 'chore_icrc_index_ng_fix_archive_test' into 'master'
 d6d9431460 chore [icrc index-ng] fix archive test
 49baa503fc feat(FI-758) [ICRC1 index-ng] changed update to query
 5bbcdab087 feat [icrc index-ng] optimize fee_collector index storage
 e3c70cf8e5 Merge branch 'FI-751-name-changes' into 'master'
 2742e03340 feat(751) [ICRC Index] changed naming of trigger function
 4e4315b311 feat(FI-750) Add hashof package
 c0b038160e Merge branch 'leo-index-ng-fix' into 'master'
 b4a9450859 fix(Index) Fix new index arguments
 ce0091f788 feat(FI-745) Populate transaction table
 eb0e866409 removed account history table
 8fc54992dd feat(FI-742): Disallow self approval in ledger_core/approvals implementation of icrc2
 cd77491697 feat(FI-732) [icrc index-ng] support fee collector
 da910cf4ea feat(ledger_core): remove SpenderId type from Approval type
 2ff6c12ca2 Merge branch 'FI-735' into 'master'
 91ede01870 feat(FI-735) [icrc index-ng] fix oldest_tx_id and add tests
 3466378e9d feat(ledger_core): update approvals to icrc2 standard, remove SignedTokens
 eb10cc4c92 feat(FI-736) [icrc index-ng] add metrics
 7ed406b093 fix [icrc index-ng] post_upgrade timer and reduce timers
 404fa18e28 feat(FI-734) [icrc index-ng] add status endpoint and change trigger_heatbeat in tests
 3c25f37ff9 feat(FI-733) [icrc index] add list_subaccounts
 18937632d4 test(ckbtc): e2e state machine test
 e858f2f802 fix(FI-731) [icrc index] fix test_get_account_transactions_pagination
 716e61a5b9 feat(FI-729) [icrc index] add balances
 9650f91c1f Remove `state_machine_tests` from the list of dependencies of rosetta-api/icrc1
 701658397f feat(FI-725) [icrc index-ng] add get_account_transactions endpoint
 0a6ff88604 fix(index) Set the timer after an upgrade
 af1c11abae chore [index] set max wait to 5 seconds
 0ff31937a4 chore [icrc1 ledger] improve upgrade test
 0b97397b99 chore(build): unify ic-agent versions across the project
 b417b27ec7 chore [icrc ledger] add test for max_memo_length missing bug
 1f46d9a91e fix [icrc ledger] default max_memo_length
 d7954f50f9 Merge branch 'maciej-onedid' into 'master'
 3a207ef299 chore(icrc1): create unified candid file for the icrc1 ledger
 ec524f7d2f feat(FI-722) [icrc index-ng] add ledger_id endpoint
 cc2685197d [FI-713] candid file and did check
 8ae52ec2b2 feat(FI-712) add the ICRC Index ng canister [override-didc-check]
 fbc770ded4 Merge branch 'FI-711-add-blocks-synchronizer-to-binary' into 'master'
 ac10f78fc9 feat(FI-711) [ICRC Rosetta] Add blocks synchronizer to binary
 bd3c42961b feat(FI-663): make memo size configurable
 cee6679676 feat(FI-714) moved the generic_block_to_encoded_block from icrc rosetta to the ic_icrc1 library
 d5937608cd feat(FI-708) [Icrc Rosetta ] Close Storage Gaps
 0bd86f1a3e feat(FI-709) [icrc index-ng] add index-ng project
 dfeb571521 Merge branch 'chore_icrc_rosetta_use_tracing' into 'master'
 415bfd1036 chore [icrc rosetta] use tracing and add request id
 a3f85fe8a4 feat(FI-693) [Icrc Rosetta] Add archive querying
 1f5d4cbb0f Merge branch 'FI-704-synchroniser-fetch-blocks-continuously' into 'master'
 de3a69bbb0 feat(FI-704) Synchronize block tip
 e86df1801d feat(FI-703) [icrc rosetta] add rosetta-client and one example
 1e1e28d3d9 Merge branch 'FI-705-storage-reference-sharing' into 'master'
 f3e285db8e feat(FI-705) [Storage Client] Shareable Storage Client Reference
 6157a477ca feat(FI-701) [icrc rosetta] add runner
 38d1ab87e2 feat(FI-702) [ICRC Rosetta] Add Network identifier and root key file path cmd args
 c6b568634a feat(FI-700) [Blocks Synchronizer] change 48 to 24 hour window
 2814d3e4a7 feat(FI-687): Fetching of blocks for blocks synchronizer
 b33a4031c8 chore(ckbtc,icrc1): unify "cycle_balance" metric name
 295ca9c9f2 chore: [icrc rosetta] rosetta 1.4.13 + link to api and doc
 9581c12c3d feat(FI-692) [icrc rosetta] add /network/options
 f04a57979a feat(FI-690) [icrc rosetta] add /network/list
 de5b215fbb feat(FI-691) [icrc rosetta] initialize storage
 a53f0002f3 feat(FI-688): add webserver and arguments to ICRC Rosetta
 56159c5352 Resolve FI-647
 2947a409df feat(FI-673): icrc-ledger-types::icrc::generic_value::Value to cborium::value::Value conversion
 94029556eb feat(FI-677) Move to timers
 3cfcf3a606 FI-633 Add tables to storage
 60896629c6 feat(FI-625): ICRC Rosetta main and database client
 e73b5a7fa7 feat: extending the root hash with last block index information.
 84321c64a0 Resolve FI-675 Remove icrc leger types icrc 3 blocks block
 cdb86c56ad FI-658 Restructure icrc ledger types repository
 6c765c04fa refactor(FI-632): prettify handling of compact accounts
 0b1ce5dfcd feat(FI-632): add optional fee collector to the icrc ledger
 cd19223d6b feat: add get_last_block_certificate to the icrc1 ledger
 949407ea4a feat: move icrc1 agent to a standalone icrc-ledger-agent library
 45183ca9dd feat: switch icrc1 ledger to the types from the icrc-ledger-types library.
 758bf99cf3 feat(FI-619): add a library for profiling canisters
```
## Wasm Verification
Verify that the hash of the gzipped WASM matches the proposed hash.
```
git fetch
git checkout f99495f3772d5a85d25ef5008179b49a5f12c5c2
./gitlab-ci/container/build-ic.sh -c
sha256sum ./artifacts/canisters/ic-icrc1-archive.wasm.gz
```

Ledger

## Proposal to Publish the SNS Ledger Canister WASM to SNS-W
### Proposer: DFINITY Foundation
### Canister Type: ledger
### Git Hash: f99495f3772d5a85d25ef5008179b49a5f12c5c2
### New Wasm Hash: b8312889e602c1092832c27958df5cd9f3ad76c22fd4951317047bc0c3122bca
---
## Release Notes
```
$ git log --format="%C(auto) %h %s" 822f933e7db6b3f843401245d0bf814632ed4084..f99495f3772d5a85d25ef5008179b49a5f12c5c2 --  ./rs/rosetta-api/icrc1 ./rs/rosetta-api/ledger_core ./rs/rosetta-api/ledger_canister_core
 88e74e1ff9 feat(FI-863): [ICRC Rosetta] Add icrc 2 support for icrc rosetta database
 e06f95639f build: use the most recent version of indicatif
 c08b91afbe feat(icrc2): remove default expiration for approvals
 5ee9f14a37 feat(FI-882): [Index Canisters] reduce cycle consumption during fitlering
 1fe1b9c1c0 chore(FI-870): clean up approvals expiration_queue
 e948a3b74d feat(FI-851): [ICRC1 Ledger] Impl ledger env for state machine
 d5e7376c60 chore(FI-872): handle approve operations in the icrc index
 ffa8cb85ed feat(cketh): experimental: add sepolia cketh ledger deployment details
 4ac20da6e4 feat(icrc1): add ledger supporting u256 tokens
 33ec479e03 chore(icrc-ledger-types): add experimental-api feature flag
 27194e765b chore(index-ng): test upgrade from the old index
 9ff9d7707d Merge branch 'maciej-icp-icrc2' into 'master'
 5b0ac829a3 feat(FI-853): Add approve and allowance endpoints to the ICP ledger
 cd6ce1b6ba feat(ICRC-1): add support for 256-bit tokens
 e38b50c07d Merge branch 'FI-850' into 'master'
 abc562a2f6 feat(FI-850): measure instructions for encoding/decoding
 9ea2080fa5 Merge branch 'maciej-approve-limit' into 'master'
 e215e5645c feat(FI-821): limit the number of approvals
 c1791a23a4 refactor(crypto): CRP-2135 rename crate `ic-crypto-sha` to `ic-crypto-sha2`
 448dc3d19c chore(icrc1): parameterize the ledger impl over token type
 42651ff8f1 chore(FI-822): additional tests for transfer and transfer_from deduplication
 3855fbb623 chore: bump rust to 1.71
 27e22c8121 chore(ICRC) Add icrc2 endpoints to client
 aee9818d2f chore: add feature_flags to the ledger.did file
 d4ac00f445 chore: remove duplicate test
 3c796abe02 Merge branch 'maciej-icrc2stand' into 'master'
 e297805d49 feat(FI-819): add ICRC-2 to the list of supported standards of the ICRC ledger
 1e1e3b4ea3 feat(FI-820): disallow approving transfers from minter
 83d252f1f7 feat(FI-816): add ICRC-2 endpoints to ledger.did for the ICRC ledger
 bbbe8ad94c feat(FI-808): transfer_from endpoint for the ICRC ledger
 5c87c64764 Merge branch 'roman-unify-candid' into 'master'
 3de7d413ea chore(build): unify versions of candid in Cargo files
 6fc342b90a chore(FI-815): adding optional spender to Transfer, removing TransferFrom operation
 e35163ab4a Merge branch 'roman-ciborium-0.2.1' into 'master'
 adfc5cf38e chore: update ciborium version
 b5912689ff feat: add cycles usage to index-ng metrics for build_index
 d9d7f811be feat(FI-801): use TryFrom for ledger_core TransferError
 1abeac2e62 Merge branch 'maciej-icrc2-flag' into 'master'
 45aff4f554 feat(FI-802): Add flag to enable ICRC-2 features in the ICRC ledger
 91cef7a53a Merge branch 'dimitris/bazel-integration-tests' into 'master'
 54bee5171a chore: Remove tests suffix from names of rust_test_suite rules
 8750622cc0 fix(ICRC1) Add max memo length to upgrade args
 90c8a01659 feat(ledger_core) add TokensType trait
 eba371d34c feat(FI-781): add ICRC-2 approval and allowance endpoints to the ICRC ledger
 9904e95242 feat(index-ng) add test for index-ng using the index interface
 25a3917361 feat(FI-772) Add encoded block hash backwards compatibility test
 ef8ae6941f feat(FI-773): Add transfer_from functionality to the ICRC ledger
 9d9f5ef11d feat(FI-748): Add approve functionality to the ICRC ledger
 5134530046 feat(FI-753) Transform generic block to block
 a6a9e80968 Merge branch 'chore_icrc_index_ng_fix_archive_test' into 'master'
 d6d9431460 chore [icrc index-ng] fix archive test
 49baa503fc feat(FI-758) [ICRC1 index-ng] changed update to query
 5bbcdab087 feat [icrc index-ng] optimize fee_collector index storage
 e3c70cf8e5 Merge branch 'FI-751-name-changes' into 'master'
 2742e03340 feat(751) [ICRC Index] changed naming of trigger function
 4e4315b311 feat(FI-750) Add hashof package
 c0b038160e Merge branch 'leo-index-ng-fix' into 'master'
 b4a9450859 fix(Index) Fix new index arguments
 ce0091f788 feat(FI-745) Populate transaction table
 eb0e866409 removed account history table
 8fc54992dd feat(FI-742): Disallow self approval in ledger_core/approvals implementation of icrc2
 cd77491697 feat(FI-732) [icrc index-ng] support fee collector
 da910cf4ea feat(ledger_core): remove SpenderId type from Approval type
 2ff6c12ca2 Merge branch 'FI-735' into 'master'
 91ede01870 feat(FI-735) [icrc index-ng] fix oldest_tx_id and add tests
 3466378e9d feat(ledger_core): update approvals to icrc2 standard, remove SignedTokens
 eb10cc4c92 feat(FI-736) [icrc index-ng] add metrics
 7ed406b093 fix [icrc index-ng] post_upgrade timer and reduce timers
 404fa18e28 feat(FI-734) [icrc index-ng] add status endpoint and change trigger_heatbeat in tests
 3c25f37ff9 feat(FI-733) [icrc index] add list_subaccounts
 18937632d4 test(ckbtc): e2e state machine test
 e858f2f802 fix(FI-731) [icrc index] fix test_get_account_transactions_pagination
 716e61a5b9 feat(FI-729) [icrc index] add balances
 9650f91c1f Remove `state_machine_tests` from the list of dependencies of rosetta-api/icrc1
 701658397f feat(FI-725) [icrc index-ng] add get_account_transactions endpoint
 0a6ff88604 fix(index) Set the timer after an upgrade
 af1c11abae chore [index] set max wait to 5 seconds
 0ff31937a4 chore [icrc1 ledger] improve upgrade test
 0b97397b99 chore(build): unify ic-agent versions across the project
 b417b27ec7 chore [icrc ledger] add test for max_memo_length missing bug
 1f46d9a91e fix [icrc ledger] default max_memo_length
 d7954f50f9 Merge branch 'maciej-onedid' into 'master'
 3a207ef299 chore(icrc1): create unified candid file for the icrc1 ledger
 ec524f7d2f feat(FI-722) [icrc index-ng] add ledger_id endpoint
 cc2685197d [FI-713] candid file and did check
 8ae52ec2b2 feat(FI-712) add the ICRC Index ng canister [override-didc-check]
 fbc770ded4 Merge branch 'FI-711-add-blocks-synchronizer-to-binary' into 'master'
 ac10f78fc9 feat(FI-711) [ICRC Rosetta] Add blocks synchronizer to binary
 bd3c42961b feat(FI-663): make memo size configurable
 cee6679676 feat(FI-714) moved the generic_block_to_encoded_block from icrc rosetta to the ic_icrc1 library
 d5937608cd feat(FI-708) [Icrc Rosetta ] Close Storage Gaps
 0bd86f1a3e feat(FI-709) [icrc index-ng] add index-ng project
 dfeb571521 Merge branch 'chore_icrc_rosetta_use_tracing' into 'master'
 415bfd1036 chore [icrc rosetta] use tracing and add request id
 a3f85fe8a4 feat(FI-693) [Icrc Rosetta] Add archive querying
 1f5d4cbb0f Merge branch 'FI-704-synchroniser-fetch-blocks-continuously' into 'master'
 de3a69bbb0 feat(FI-704) Synchronize block tip
 e86df1801d feat(FI-703) [icrc rosetta] add rosetta-client and one example
 1e1e28d3d9 Merge branch 'FI-705-storage-reference-sharing' into 'master'
 f3e285db8e feat(FI-705) [Storage Client] Shareable Storage Client Reference
 6157a477ca feat(FI-701) [icrc rosetta] add runner
 38d1ab87e2 feat(FI-702) [ICRC Rosetta] Add Network identifier and root key file path cmd args
 0e5c7f5737 RUN-607: Introduce CanisterSettingsArgsBuilder
 c6b568634a feat(FI-700) [Blocks Synchronizer] change 48 to 24 hour window
 2814d3e4a7 feat(FI-687): Fetching of blocks for blocks synchronizer
 b33a4031c8 chore(ckbtc,icrc1): unify "cycle_balance" metric name
 295ca9c9f2 chore: [icrc rosetta] rosetta 1.4.13 + link to api and doc
 9581c12c3d feat(FI-692) [icrc rosetta] add /network/options
 f04a57979a feat(FI-690) [icrc rosetta] add /network/list
 de5b215fbb feat(FI-691) [icrc rosetta] initialize storage
 a53f0002f3 feat(FI-688): add webserver and arguments to ICRC Rosetta
 56159c5352 Resolve FI-647
 2947a409df feat(FI-673): icrc-ledger-types::icrc::generic_value::Value to cborium::value::Value conversion
 94029556eb feat(FI-677) Move to timers
 3cfcf3a606 FI-633 Add tables to storage
 60896629c6 feat(FI-625): ICRC Rosetta main and database client
 e73b5a7fa7 feat: extending the root hash with last block index information.
 84321c64a0 Resolve FI-675 Remove icrc leger types icrc 3 blocks block
 cdb86c56ad FI-658 Restructure icrc ledger types repository
 6c765c04fa refactor(FI-632): prettify handling of compact accounts
 0b1ce5dfcd feat(FI-632): add optional fee collector to the icrc ledger
 cd19223d6b feat: add get_last_block_certificate to the icrc1 ledger
 949407ea4a feat: move icrc1 agent to a standalone icrc-ledger-agent library
 45183ca9dd feat: switch icrc1 ledger to the types from the icrc-ledger-types library.
 758bf99cf3 feat(FI-619): add a library for profiling canisters
```
## Wasm Verification
Verify that the hash of the gzipped WASM matches the proposed hash.
```
git fetch
git checkout f99495f3772d5a85d25ef5008179b49a5f12c5c2
./gitlab-ci/container/build-ic.sh -c
sha256sum ./artifacts/canisters/ic-icrc1-ledger.wasm.gz
```
2 Likes

Will these IRCR2 features be deployed to the ICP ledger along with this as well?

Hi folks,

After consulting with the financial-integration team we’ve learned that the ICRC2 features will not be enabled unless an upgrade argument is provided. Providing upgrade args is currently unsupported for SNSes, but is on the NNS teams roadmap. The NNS team still plans to submit these proposals today as there are many updates still worth consuming, but not ICRC2 features will be available.

Thank you for your patience!

I am not aware of what the financial integration teams plan is for enabling ICRC2 for the ICP ledger. As noted in my reply, ICRC2 features will actually not be enabled during these SNS upgrades.

We still have to finish some work on the ICP Ledger before we can submit the upgrade that enables the ICRC-2 features. We will notify the community when that will happen.

ICP Ledger ICRC-2 endpoints are now available, When will SNS be upgraded?

When fix treasury drain problem

2 Likes