Skip to main content
Version: 4.0.0

Generate Fee Payment Signature

await avnSdk.proxyUtils.generateFeePaymentSignature(feeData, signerAddress, config, requestId, currencyToken);
  • signerAddress: The AvN address of the signer.
  • currencyToken: The token used for payment.
  • config: The api config that contains a function to sign.
  • requestId: A unique string used for logging only.
important

This operation creates a signature to authorize a relayer account to submit transactions to the chain. You can learn more about relayers HERE.

You can get the AVN_GATEWAY_URL and AVN_RELAYER here.

Example

const { AvnApi, SetupMode, SigningMode } = require("avn-api");
const AVN_GATEWAY_URL = "https://gateway.testnet.aventus.network";

const singleUserOptions = {
suri: "0x5392ca60a61aea99fce14358798de93c1bc11c3696a905718738c71fae539c24", // this is from the generated example account
setupMode: SetupMode.SingleUser,
signingMode: SigningMode.SuriBased,
};
const avnSdk = new AvnApi(AVN_GATEWAY_URL, singleUserOptions);

const feeData = FeePaymentData {
relayer: "5Ed..",
proxySignature: "0x...",
relayerFee: "123",
paymentNonce: 1,
}

const signerAddress = "5es...";
const requestId = "1234-adcs-...";
const currencyToken = "0x123...";

async function main() {
await avnSdk.init();

const sendApiConfig = api.send.api;
let result = await avnSdk.proxyUtils.generateFeePaymentSignature(
feeData,
signerAddress,
sendApiConfig,
requestId,
currencyToken
);
console.log(result);
}

(async () => {
await main();
})();
  • For the nonce call getNonce with accountId = payer, nonceType = 'payment'
  • For the relayerFee call getRelayerFees with relayer = relayer, user = payer, currencyToken = '0x...', transactionType = eg: 'proxyTokenLower'