From 22b07d1ea00843c054802953c1a0a0cded38d57a Mon Sep 17 00:00:00 2001 From: b4cksl4sh Date: Sun, 5 Jan 2025 15:31:07 +0300 Subject: [PATCH 1/4] Added GETFORWARDFEE opcode. --- CHANGELOG.md | 5 +++++ reference/opcodes.yaml | 2 +- src/codepage/opcodes.gen.ts | 1 + src/codepage/opcodes.ts | 6 ++++-- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f64ad2..85c05ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.0.18] - 2025-01-05 + +### Added +- Support of `GETFORWARDFEE` opcode: PR [#22]() + ## [0.0.17] - 2025-01-03 ### Added diff --git a/reference/opcodes.yaml b/reference/opcodes.yaml index 111e625..74c67cb 100644 --- a/reference/opcodes.yaml +++ b/reference/opcodes.yaml @@ -792,7 +792,7 @@ opcodes: # Opcodes to process config parameters GETGASFEE: GETSTORAGEFEE: - # GETFORWARDFEE: + GETFORWARDFEE: GETPRECOMPILEDGAS: GETORIGINALFWDFEE: GETGASFEESIMPLE: diff --git a/src/codepage/opcodes.gen.ts b/src/codepage/opcodes.gen.ts index a7f7f14..dd31b4d 100644 --- a/src/codepage/opcodes.gen.ts +++ b/src/codepage/opcodes.gen.ts @@ -670,6 +670,7 @@ export type OpCodeNoArgs = | { code: 'DUEPAYMENT' } | { code: 'GETGASFEE' } | { code: 'GETSTORAGEFEE' } + | { code: 'GETFORWARDFEE' } | { code: 'GETPRECOMPILEDGAS' } | { code: 'GETORIGINALFWDFEE' } | { code: 'GETGASFEESIMPLE' } diff --git a/src/codepage/opcodes.ts b/src/codepage/opcodes.ts index 5f951b0..8c8c93f 100644 --- a/src/codepage/opcodes.ts +++ b/src/codepage/opcodes.ts @@ -1147,17 +1147,19 @@ CP0Auto.insertHex('F83401', 24, { code: 'PREVKEYBLOCK' }); CP0Auto.insertHex('F835', 16, { code: 'GLOBALID' }); CP0Auto.insertHex('F836', 16, { code: 'GETGASFEE' }); CP0Auto.insertHex('F837', 16, { code: 'GETSTORAGEFEE' }); +CP0Auto.insertHex('F838', 16, { code: 'GETFORWARDFEE' }); CP0Auto.insertHex('F839', 16, { code: 'GETPRECOMPILEDGAS' }); CP0Auto.insertHex('F83A', 16, { code: 'GETORIGINALFWDFEE' }); CP0Auto.insertHex('F83B', 16, { code: 'GETGASFEESIMPLE' }); CP0Auto.insertHex('F83C', 16, { code: 'GETFORWARDFEESIMPLE' }); + CP0Auto.insertHex('f841', 11, (slice) => { let i = slice.loadUint(5); - return { code: `GETGLOBVAR`, args: [i] }; + return { code: `GETGLOB`, args: [i] }; }); CP0Auto.insertHex('f861', 11, (slice) => { let i = slice.loadUint(5); - return { code: `SETGLOBVAR`, args: [i] }; + return { code: `SETGLOB`, args: [i] }; }); CP0Auto.insertHex('f900', 16, { code: 'HASHCU' }); CP0Auto.insertHex('f901', 16, { code: 'HASHSU' }); From cb04388bb1084aa4ce2d0527440733cabab108d2 Mon Sep 17 00:00:00 2001 From: b4cksl4sh Date: Sun, 5 Jan 2025 15:35:15 +0300 Subject: [PATCH 2/4] Updated CHANGELOG.md, bumped version --- CHANGELOG.md | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 85c05ff..7a2c9b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [0.0.18] - 2025-01-05 ### Added -- Support of `GETFORWARDFEE` opcode: PR [#22]() +- Support of `GETFORWARDFEE` opcode: PR [#23](https://github.com/tact-lang/ton-opcode/pull/23) ## [0.0.17] - 2025-01-03 diff --git a/package.json b/package.json index a0ff906..ff7c09e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@tact-lang/opcode", - "version": "0.0.17", + "version": "0.0.18", "main": "dist/index.js", "repository": "https://github.com/tact-lang/ton-opcode.git", "author": "Steve Korshakov ", From f72899bbf6dc9b0aa2a9930a3fa4d904d2398a10 Mon Sep 17 00:00:00 2001 From: b4cksl4sh Date: Sun, 5 Jan 2025 15:43:28 +0300 Subject: [PATCH 3/4] Reverted GETGLOB/SETGLOB changes, will make separate PR for it --- src/codepage/opcodes.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/codepage/opcodes.ts b/src/codepage/opcodes.ts index 8c8c93f..cc680e9 100644 --- a/src/codepage/opcodes.ts +++ b/src/codepage/opcodes.ts @@ -1155,11 +1155,11 @@ CP0Auto.insertHex('F83C', 16, { code: 'GETFORWARDFEESIMPLE' }); CP0Auto.insertHex('f841', 11, (slice) => { let i = slice.loadUint(5); - return { code: `GETGLOB`, args: [i] }; + return { code: `GETGLOBVAR`, args: [i] }; }); CP0Auto.insertHex('f861', 11, (slice) => { let i = slice.loadUint(5); - return { code: `SETGLOB`, args: [i] }; + return { code: `SETGLOBVAR`, args: [i] }; }); CP0Auto.insertHex('f900', 16, { code: 'HASHCU' }); CP0Auto.insertHex('f901', 16, { code: 'HASHSU' }); From f14bbafb634e37b60a80a7ef51dc9e145db6959d Mon Sep 17 00:00:00 2001 From: Anton Trunov Date: Sun, 5 Jan 2025 17:45:05 +0500 Subject: [PATCH 4/4] Update src/codepage/opcodes.ts --- src/codepage/opcodes.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/codepage/opcodes.ts b/src/codepage/opcodes.ts index cc680e9..7131b0e 100644 --- a/src/codepage/opcodes.ts +++ b/src/codepage/opcodes.ts @@ -1152,7 +1152,6 @@ CP0Auto.insertHex('F839', 16, { code: 'GETPRECOMPILEDGAS' }); CP0Auto.insertHex('F83A', 16, { code: 'GETORIGINALFWDFEE' }); CP0Auto.insertHex('F83B', 16, { code: 'GETGASFEESIMPLE' }); CP0Auto.insertHex('F83C', 16, { code: 'GETFORWARDFEESIMPLE' }); - CP0Auto.insertHex('f841', 11, (slice) => { let i = slice.loadUint(5); return { code: `GETGLOBVAR`, args: [i] };