Coder Social home page Coder Social logo

Pooled transaction fees about algo-builder HOT 9 CLOSED

scale-it avatar scale-it commented on June 9, 2024
Pooled transaction fees

from algo-builder.

Comments (9)

amityadav0 avatar amityadav0 commented on June 9, 2024 1

@gidonkatten Hi, probably this week we will make a release with this feature.

from algo-builder.

robert-zaremba avatar robert-zaremba commented on June 9, 2024

@gidonkatten - our test environment (@algo-builder/runtime) doesn't support yet TEALv4.

Are you sure in TEALv3, a one tx can pay a fee for another one in the group?

from algo-builder.

robert-zaremba avatar robert-zaremba commented on June 9, 2024

We will try to test in in the Alogrand node (older version, which doesn't support TEALv4).

Anyway, we will need to update the TEALv4 soon.

from algo-builder.

gidonkatten avatar gidonkatten commented on June 9, 2024

From Fabrice on discord general dev It's available since the consensus upgrade of TEAL v4, but you don't need your application to be in TEAL v4 to support it.

from algo-builder.

amityadav0 avatar amityadav0 commented on June 9, 2024

Hi
I tried this on algod version

8590393345
2.7.1.stable [rel/stable] (commit #5e00bcd6)
go-algorand is licensed with AGPLv3.0
source code available at https://github.com/algorand/go-algorand

this is the script i tried

async function run (runtimeEnv, deployer) {
  // we start with extracting acocunt objects from the config.
  const masterAccount = deployer.accountsByName.get('master-account');
  const goldOwner = deployer.accountsByName.get('alice');
  const john = deployer.accountsByName.get('john');
  const bob = deployer.accountsByName.get('bob');

  // Accounts can only be active if they poses minimum amont of ALGOs.
  // Here we fund the accounts with 5e6, 5e6 and 1e6 micro AlGOs.
  const message = 'funding account';
  const promises = [
    executeTransaction(deployer, mkParam(masterAccount, goldOwner.addr, 5e6, { note: message })),
    executeTransaction(deployer, mkParam(masterAccount, john.addr, 1e5, { note: message })),
    executeTransaction(deployer, mkParam(masterAccount, bob.addr, 1e6, { note: message }))];
  await Promise.all(promises);

  // group with fee distribution
  const groupTx = [
    {
      type: types.TransactionType.TransferAlgo,
      sign: types.SignType.SecretKey,
      fromAccount: goldOwner,
      toAccountAddr: john.addr,
      amountMicroAlgos: 58,
      payFlags: { totalFee: 2000 }
    },
    {
      type: types.TransactionType.TransferAlgo,
      sign: types.SignType.SecretKey,
      fromAccount: john,
      toAccountAddr: bob.addr,
      amountMicroAlgos: 58,
      payFlags: { totalFee: 0 }
    }
  ];
  console.log("Checking fee transaction!!");
  await executeTransaction(deployer, groupTx);
  console.log("Completed!");
}

Group transaction, here john has only minimum balance i.e 1e5 microAlgos.
this transaction was not passed on this version
ndoe

network tried to deduct fee from john, although fee from goldowner is set to 2000.

from algo-builder.

gidonkatten avatar gidonkatten commented on June 9, 2024

@amityadav0 are you sure that algob is not changing the txn from john to have fee 1000? I would suggest trying to use goal or one of the sdks

from algo-builder.

amityadav0 avatar amityadav0 commented on June 9, 2024

asf

yes, i checked, there could be another problem. i will check with sdk and goal now.

from algo-builder.

amityadav0 avatar amityadav0 commented on June 9, 2024

@gidonkatten you are right, the problem is with the flatFee variable, It needs to be updated according to atomic transaction update.
Updating it, thanks

from algo-builder.

gidonkatten avatar gidonkatten commented on June 9, 2024

@amityadav0 When till this be merged into master? Thanks

from algo-builder.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.